zoukankan      html  css  js  c++  java
  • 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 ,我这里就躺着中枪了!

    参考文章


    寻找知识的源头,探索宇宙的奥秘。
    知识的存放地址:人的大脑里、书里、互联网上、自然界里。
    获取知识的最优路径:精品课程 > 精品书籍 > 官方文档 > 优质文章 > 与人交流(互为补充,构建知识体系)。
    内外兼修,形神合一。

  • 相关阅读:
    centos6.5 源码安装 gtk 环境
    世界的复杂性
    将 shell 脚本打包到 rpm 包中
    使用 ipdb 调试 Python
    shell 处理 文件名本身带星号的情况
    如果可以更更完善,为什么不呢?
    比较有名的开源项目
    各种小工具合集
    各种版本对应关系
    dns相关
  • 原文地址:https://www.cnblogs.com/keatonlao/p/12032674.html
Copyright © 2011-2022 走看看