系统是debian 10 buster
采用lnmp的自动生成安装命令,lnmp m:mysql 5.7, p:php5.6。安装php时失败,其他都OK。不得已从网上找了其他的php5.6版本。安装完成后fpm服务是php5.6-fpm,而不是php-fpm,不知其他同学有没有遇到过这个坑。
安装成功后,nginx,mysql,php都能成功启动。就是访问php时出现502 bad gateway。html文件都是能正常访问的,看来还是nginx和php关于php方面的配置问题。
第一步:用netstat -lnt 命令查看端口,并没有看到有9000端口。反复重启php都没有用,重启电脑也没有用。
网上有说新版的或者有些版本的php不是用的tcp/ip端口,而是用的unix socket。看了下,nginx和php的配置,确实是如此。不过就算如此也能访问PHP才对。
试着把nginx 关于php路径和php配置的路径调为一致(temp/php5.6-sock等等),还是不行;调权限 chmod -R 777还是不行;果断放弃,建议新手用tcp/ip加端口,要不然坑太多,不管了。
第二步:先改为tcp/ip端口再说。我的nginx版本是nginx.conf +enable-php.conf文件 + vhost文件夹的模式,在nginx.conf里有一句include vhost/*.conf;并且我有好几个站点,所以nginx.conf不用动。先在enable-php.conf文件里注释掉 #fastcgi_pass unix:/tmp/php-cgi.sock;加入fastcgi_pass 127.0.0.1:9000。
第三步:再找到php的配置,我的是php-fpm.conf(奇怪的是服务名却是php5.6-fpm)。我的这个php-fpm.conf是采用的+pool.d的形式,在php-fpm.conf有一句include=/etc/php/5.6/fpm/pool.d/*.conf;pool.d下面只有一个www.conf;里面原来是listen = /run/php/php5.6-fpm.sock
在这一行前面加”;“注释掉;加入listen = 127.0.0.1:9000(PHP的配置结尾是没有任何符号)。
第四步,重启nginx,php5.6-fpm。在重启时我先重启的nginx,老是报错,搞了好久都没有搞好。我直接重启电脑,好了!我想应该是要先重启php5.6-fpm,再启动ngxin(后来测了一下,好像确实如此)。终于打开了lnmp的探针,phpinfo,phpmyadmin到此终于完成!