nginx php 502 bad gateway的情况

 提示:转载请注明原文链接

 本文永久链接:https://360us.net/article/47.html

小计一笔,这里仅限是环境搭建的过程。

搭了个LNMP的环境,估计很多同学最常遇到的就是502了吧?

我搭了那么多次,就是502最多。

我遇到的一般都出在用户的设置和目录权限的配置上面的,解决这两点一般就不会有什么问题了。


配置nginx,新建了个用户组web,和用户webuser。
改配置nginx.conf的user选项为user webuser。
执行nginx -t报错:

nginx: [emerg] getgrnam("webuser") failed in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed


这什么意思啊?
一番搜索之后好像没什么有用信息。
原来是user www-data,而且系统里面有www-data组和www-data用户。
所用猜测报错应该是说用户有问题。
nginx检查配置正确性的时候肯定是按照同用户名的组去验证用户的,这里我只写了user webuser。
webuser组下面确实没有webuser用户,改成user webuser web一切ok。

nginx php 502 bad gateway
查看nginx错误日志:

"/mnt/data/web/360us/public/index.php" is not found (2: No such file or directory)


哦!不记得该目录权限了,把对外目录属主改成运行用户。
再测试还是502,再看下日志:

connect() to unix:/run/php/php7.0-fpm.sock failed (13: Permission denied) while connecting to upstream


是改了nginx的用户。
那么php-fpm的socket的权限也要更改成对应用户:

listen.owner = webuser
listen.group = web

上面那个配置是针对nginx直接读写php-fpm的socket文件的时候的一个权限配置。

 评论
昵称
邮箱
网址
最多500个字符