Ubuntu 上 Nginx 报错 502 Bad Gateway
环境
OS: Ubuntu 19.04
nginx version: nginx/1.16.0
解决办法
修改 php-fpm 的配置,将 unix 套接字模式改成 tcp/ip 的方式。sudo vi /etc/php/7.2/fpm/pool.d/www.conf
:
;listen = /run/php/php7.2-fpm.sock #给老子滚犊子
listen = 127.0.0.1:9000
同步修改 nginx conf 文件,sudo vi /etc/nginx/conf.d/server.conf
:
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/run/php/php7.2-fpm.sock; 给老子滚犊子
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
一切正常了。
排查过程
php 测试报错 502 Bad Gateway
直接访问 localhost
是没有问题的,因为直接解析的是静态文件 index.html
:
删除默认工作目录下 index.html
,新建 php 测试文件,sudo vi /usr/share/nginx/html/index.php
:
<?php phpinfo(); ?>
无法解析 PHP,什么情况!?
报错原因
这时候我们可以猜到是 php-fpm 的问题,可是问题在哪里呢?原因是在 php-fpm 的配置中默认为 listen = /run/php/php7.2-fpm.sock
,但是有时候 unix 套接字模式下会导致 502 ,我这里就躺着中枪了!
参考文章
寻找知识的源头,探索宇宙的奥秘。
知识的存放地址:人的大脑里、书里、互联网上、自然界里。
获取知识的最优路径:精品课程 > 精品书籍 > 官方文档 > 优质文章 > 与人交流(互为补充,构建知识体系)。
内外兼修,形神合一。
posted on 2019-06-28 21:28 keatonlao 阅读(2591) 评论(0) 编辑 收藏 举报