安装完成后还需要配置php84-php-fpm以及nginx对应的upstream参数。
首先我们需要php84安装的位置以及对应配置文件的位置。
查找php84的位置
1,比较暴力的方法
find / | grep php-fpm
根据上面的搜索结果我们可以确定位置。
2,通过php84-php-fpm服务的状态
systemctl start php84-php-fpm
systemctl status php84-php-fpm
systemctl status php84-php-fpm
● php84-php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php84-php-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-12-29 19:13:38 CST; 22h ago
Main PID: 2356 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 75, slow: 0, Traffic: 0.00req/sec"
Tasks: 6 (limit: 11862)
Memory: 29.3M
CGroup: /system.slice/php84-php-fpm.service
├─2356 php-fpm: master process (/etc/opt/remi/php84/php-fpm.conf)
通过上面的信息可以可以确定fpm配置文件的位置。
配置 nginx 对应php84 fpm的upstream
首先我们需要知道 php84 fpm的监听地址。
查看文件 /etc/opt/remi/php84/php-fpm.d/www.conf
listen = /var/opt/remi/php84/run/php-fpm/www.sock
然后在nginx中添加php84 fpm对应的upstream。
新建文件 /etc/nginx/conf.d/php84-fpm.conf,文件内容如下:
upstream php84-fpm {
server unix:/var/opt/remi/php84/run/php-fpm/www.sock;
}
server unix:/var/opt/remi/php84/run/php-fpm/www.sock;
}
在需要使用php84的网站配置中修改 fastcgi_pass 参数;
fastcgi_pass php84-fpm;
这样nginx的修改基本完成了。
测试配置是否正确,如果没有问题重新加载配置。
nginx -t
nginx -s reload
nginx -s reload
权限问题修正
访问网站时发生异常。通过查看nginx的错误日志。
connect() to unix:/var/opt/remi/php84/run/php-fpm/www.sock failed (13: Permission denied)
权限有问题,fpm默认是以apache用户启动,nginx是以nginx用户启动。增加nginx用户的权限即可。
修改 /etc/opt/remi/php84/php-fpm.d/www.conf 文件,增加红色部分内容:
listen.acl_users = apache,nginx
如果不用unix socket,直接使用端口号也是可以的。这样就不用修改这个权限配置。
如果是初次使用端口号,也有可能会出现权限问题。
connect() to 127.0.0.1:8080 failed (13: Permission denied)
这个是selinux权限问题。
可以参考之前的文章【nginx反向代理出现502错误】进行权限调整。
如果文章对您有帮助,给个赞赏吧!