Nginx的502错误

  • 背景:在开发服务器上,新建一个mysql5.7实例,然后上面的几个php应用就罢工了
  • 原因:安装时把centOS默认的mysql服务卸载,导致php的mysql报错,提示libmysqlclient找不到;
  • 解决
    • 原有php是5.3,2old,直接升级到php5.7,采用yum安装;
    • 编写phpinfo.php,返回502错误;错误在 /var/log/nginx/error.log,疑似php-fpm工作异常;
    • 修改php-fpm配置,启动 catch_workers_output = yes,输出错误日志到log 文件
    • 重启php-fpm,查看/var/log/php-fpm/www-error.log,提示ip不对
      • 好像yum安装的php-fpm只允许127.0.0.1访问,修改allowed_clients
    • 至此nginx+php打通
  • 总结
    • 在稳定环境中修改配置,牵一发而动全身……随便一弄就是鸡飞狗跳;
    • 对nginx的日志不够熟悉,catch_workers_output = yes 是关键点;
    • 环境一致性,还是Docker可靠;
//  /var/log/error.log
[Nginx error *recv()* *failed* *(104:* *Connection* *reset* *by* *peer)*]

/var/log/php-fpm/www-error.log
[pool www] child 25840 said into stderr: "ERROR: Connection disallowed: IP address '10.0.0.2' has been dropped."

你可能感兴趣的:(Nginx的502错误)