首先检查NGINX启动状态
ps aux|grep nginx
其次检查PHP-FPM启动情况
ps aux|grep php-fpm
或者
ps aux|grep php //找到php-fpm
注意如果只有master进城没有worker进程需要kill掉php-fpm重新启动,查看报错。处理报错。再次启动。
这里说明一种情况如下:
1 查看PHP-FPM进程发现只有master没有worker。
2 kill掉进程之后重启发现报错,无法创建pid文件。大概是没有权限或者目录导致的。这时需要手动建立目录。再次启动发现报错消失。
3 查看进程发现存在master和worker进程。此时访问PHP文件正常。
在项目根目录创建test.html文件,配置nginx配置文件以访问test.html文件
cd [项目目录] //进入项目目录
echo "hello test" > index.html
curl http://localhost/test.html //页面输出:hello test
如上操作输出helle test说明nginx正常。
检查location模块php部分是否正确,验证fastcgi_pass是否正确
location ~ \.php$ {
root /data/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
如果fastcgi_pass使用127.0.0.1:9000,请在php-fpm.conf配置中确认listen = 127.0.0.1:9000;
如果php-fpm.conf未找到listen配置项,请在pool.d/www.conf查找。
如果配置存在问题,请修改后重启php-fpm
访问单个PHP文件输出正常,访问项目接口报错502或者是500,需要排查代码
报502错误:有可能是访问接口超时, 可以修改php或php脚本的超时时间进行验证。如果确实存在超时问题,请优化代码逻辑。当然别忘记看日志。
报500错误:一般都是代码错误,或者引入依赖导致的错误。具体请查看日志即可。
遇到问题,静下心来,耐心排查,多多思考。
以上如有问题,欢迎反馈。 祝 好。
网友评论