zoukankan      html  css  js  c++  java
  • nginx报错502 Bad Gateway

    1先说这个是配置lnmp站点出现的问题;

    排查问题:首先就去看看nginx的错误日志;我的nginx配置的错误日志路径是在/var下面

    错误日志显示我的一般有这两种:

    1)[error] 29221#0: *49 connect() failed (111: Connection refused) while connecting to upstream...

    2)[crit] 28817#0: *18654 connect() to unix:/run/php-fpm/www.sock failed (13: Permi ssion denied) while connecting to upstream

    基本上都是配置fastcgi_pass的错,说之前先了解一下fastcgi_pass 监听端口 的两种方式unix socket和tcp socket

     第一种是unix socket, 第二种是tcp socket(127.0.0.1:9000);都是在php-fpm配置文件里面listen配置的;往下说两者的区别;

    tcp socket配置如下:

    location ~ .*.(php|php5)$ {
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
    }

    unix socket配置如下:

    location ~ .*.(php|php5)$ {
     fastcgi_pass unix:/run/php-fpm/www.sock;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
    }

    Nginx 中 fastcgi_pass 监听端口 unix socket和tcp socket区别

    可以参考一下这篇文章:https://blog.csdn.net/liv2005/article/details/7741732

    了解清楚之后,再来排查错误,省得莫名其妙; 

    1)[error] 29221#0: *49 connect() failed (111: Connection refused) while connecting to upstream...

      上面这个问题也是nginx配置fastcgi_pass之类的异常;比如php-fpm没启动没监听9000等。

      netstat -ant | grep 9000 可以用这个命令查看有没有监听到9000, 没有就启动php-fpm

    2)[crit] 28817#0: *18654 connect() to unix:/run/php-fpm/www.sock failed (13: Permi ssion denied) while connecting to upstream

      上面这个问题就是运行unix sockt模式的问题,生成的sock文件没有访问权限;所以要注意权限问题;

      将sock文件放在/dev/shm目录下,使用的内存读写更快噢;

  • 相关阅读:
    洛谷—— P3353 在你窗外闪耀的星星
    洛谷—— P1238 走迷宫
    洛谷—— P1262 间谍网络
    9.8——模拟赛
    洛谷—— P1189 SEARCH
    算法
    May 22nd 2017 Week 21st Monday
    May 21st 2017 Week 21st Sunday
    May 20th 2017 Week 20th Saturday
    May 19th 2017 Week 20th Friday
  • 原文地址:https://www.cnblogs.com/JahanGu/p/12924993.html
Copyright © 2011-2022 走看看