NGINX和PHP 使用SOCKET通信错误 An error occurred.

环境:centos7.5  、NGINX、PHP7.2  (php和nginx都是全麻编译安装手动配置)

将nginx和php之间的通信将http转为socket结果报错了


错误:

An error occurred.

Sorry, the page you are looking for is currently unavailable.

Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.


分析日志:

[root@ZHANG conf]# cat /var/log/nginx/error.log 

2019/06/14 09:51:32 [notice] 19823#0: signal process started

2019/06/14 10:00:36 [notice] 19870#0: signal process started

2019/06/14 10:17:37 [notice] 3902#0: signal process started

错误日志没有不可

[root@ZHANG conf]# cat /var/log/nginx/access.log 

36.60.51.229 - - [14/Jun/2019:10:18:43 +0800] "GET /login.php HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"

36.60.51.229 - - [14/Jun/2019:10:18:49 +0800] "GET /login.php HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"

11.120.115.136 - - [14/Jun/2019:10:31:34 +0800] "GET / HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"

访问日志看到了502字样,锁定服务器内部问题

分析原因:

1、检测配置确认php-fpm.sock是否存在(保证其正确)

2、1.的ok就测试一个.html探针文件检测,发现探针文件可以访问php文件不可以,问题就在php或者php与nginx的通信上

3、查看php错误日志,发现php错误日志一切正常,方向转移到nginx和php的通信上

4、通过检查 php-fpm.sock 没有可写权限(问题),赋予可写权限之后问题解决


注:造成502的原因很多,所以解决问题的方式比较多(这只是‘万千’种错误中的一种),对于新手来说因为权限导致的问题不少,类似权限导致服务器其他服务报错的问题对于新手来说可能很棘手,我经常都是自己编译安装,也有可能是自己编译安装、配置的所以才会没有部分权限,这问题这几年遇到好多次,把个人解决思路写写希望能带部分新人解决类似问题的灵感

————————————————

版权声明:本文为CSDN博主「懒人笔记—001」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/zhang_timi/article/details/91952833

你可能感兴趣的:(NGINX和PHP 使用SOCKET通信错误 An error occurred.)