什么是PHP-FPM? PHP-FPM(FastCGI Process Manager: FastCGI进程管理器)是一个实现了Fastcgi的程序,并且提供进程管理的功能。 进程包括master进程和worker进程。master进程只有一个,负责监听端口,接受来自web server 的请求 worker进程一般会有多个,每个进程中会嵌入一个PHP解析器,进行PHP代码的处理。
1.先源码编译nginx,root底下存在最新版模块
2.进入nginx-1.26.1的目录,执行编译安装
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-stream --with-stream_ssl_module
3.安装文件
4.检测参数nginx安装是否成功
5.对php源码编译,对软件包进行解压
[root@nginx-node1 ~]# tar zxf php-8.3.9.tar.gz
4.利用yum解决php依赖
[root@Nginx ~]# yum install -y bzip2 systemd-devel libxml2-devel sqlite-devel libpng-devel libcurl-devel oniguruma-devel
但是缺失软件包
寻找软件包命令
[root@nginx-node1 ~]# yum search oniguruma
[root@nginx-node1 ~]# yum whatprovides */oniguruma*
如果代码搜索不到可以使用—阿里云开源软件镜像站进行搜索
5.进入php目录,对php进行源码安装
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd
检测发现还缺失libsystemd包
安装libcurl-devel-7.76.1-19.el9.x86_64软件包
[root@localhost php-8.3.9]# yum install libcurl-devel-7.76.1-19.el9.x86_64 -y
使用源码再次安装,检测发现还缺失sqlite3包
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd
安装 sqlite-devel.x86_64软件包
[root@localhost php-8.3.9]# yum install sqlite-devel.x86_64 -y
使用源码再次安装,检测发现还缺失libpng包
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd
安装libpng-devel.x86_64软件包
[root@localhost php-8.3.9]# yum install libpng-devel.x86_64 -y
使用源码再次安装,检测发现还缺失oniguruma包
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd
在阿里云开源软件镜像站获取软件包的下载地址
使用yum进行安装
[root@localhost ~]# yum install oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm
再次使用源码进行编译
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring --enable-bcmath --with-fpm-systemd
源码编译安装成功后,安装软件
[root@localhost php-8.3.9]# make && make install