本地环境
OS:AlmaLinux release 8.8 (Sapphire Caracal)
NGINX:nginx/1.25.2
PHP:PHP 8.0.27
问题
1、netstat -tpln未发现监听9000端口,查看/var/log/php-fpm.log一切正常;
2、访问phpinfo.php也无法访问;
解决办法
1、配置Nginx配置文件,确认NGINX配置正确
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
2、查看phpinfo.php,文件是否正常。
cat /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
3、重启Nginx
systemcrl restart nginx
4、查看php-fpm端口是否监听
netstat -tunlp | grep 9000
5、若没有任何回显则端口没有开放,执行下面命令,给php-fpm开放9000端口。
php-cgi -b 127.0.0.1:9000 &
再次查看端口就会有回显,访问php文件也正常访问。
6、打开浏览器,输入ip/phpinfo.php即可检查是否配置成功
7、开放端口命令添加开机自启
cd /etc/rc.d/init.d/
vim php-fpm-start.sh
添加下面内容:
#!/bin/sh
#chkconfig: 2345 80 90
#description:开机自动启动的脚本程序
# 开启php-fpm服务 端口为9000
php-cgi -b 127.0.0.1:9000 &
保存并退出后执行下面命令
chmod +x php-fpm-start.sh #设置为可执行文件
#添加脚本到开机自动启动项目中
chkconfig --add php-fpm-start.sh
chkconfig php-fpm-start.sh on
8、重启机器再次验证是否正常。