第一次
配置好Nginx之后,通过域名访问Nginx报错502,以为是配置问题,然后就开始各种搜索PHP+Nginx配置的文章,然后改来改去依旧没有什么效果。然后查看Nginx的日志发现没有错误日志,于是搁浅了,去忙别的事情,下次再说
第二次
这次呢,是发现自己是不是没有安装PHP环境,于是我就问了一个前辈,她跟我说安装一个56就行,然后我就去安装了56,启动然后接着去访问,发现依旧是502,然后自闭了
第三次
偶然的一个灵感,好吧其实是看配置文件(这个文件是网站的配置文件,我的路径是/www/server/panel/vhost/nginx/域名.config)发现有错误日志的路径,然后就赶忙去看日志,发现了一个错误connect() failed (111: Connection refused) while connecting to upstream 高兴坏了,然后就去各种百度,查了查,发现原因大致分为两点,一个是php-fpm没有运行,一个是php-fpm配置问题。
然后我直接跳过了第一个问题,其实主要原因是宝塔这边可以直接看到我启动了,因为有列表。所以我直接跳过,去查看php-fpm.conf配置文件,然后根据百度到的结果开始修改,发现依旧没有什么用,继续自闭中。
第四次
偶然执行命令行(/usr/local/bin/php-fpm 看个人路径)重启PHP56,然后报错ERROR: An another FPM instance seems to already listen on /tmp/php-cgi-56.so,看着错误信息,直接悟了,为了验证猜想,我又去执行了netstat -ant | grep 9000,发现没有信息,终于找到问题的症结所在了
第一步 去查看php-fpm.conf配置文件
[www]
listen = /tmp/php-cgi-56.sock //这是重点,考试加粗的那种
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
第二步 修改网站的Nginx配置文件
此时我们需要根据配置文件的listen地址做对应的修改:
location ~*\.php$ {
fastcgi_pass unix:/tmp/php-cgi-56.sock; //把127.0.0.1:9000改为这个,重点啊
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
然后访问,成功了,喜大普奔!!!!
结语
通过这几天的努力我一个Java后台,完全没接触过PHP的程序猿终于搞定了,兜兜转转发现问题又回到了一开始的局面,清楚的写下自己的心路历程,从发现问题到解决问题,经历的不甘,绝望,对自己能力的质疑,以及最后的希望,同时收获的也多,不是我会配置了,而是我依靠自己的能力发现问题,思考,解决问题,一个思路不对就换一个,殊途同归,即使多走了路程,也是多看了的风景,这同样也是宝贵的经验。