我几个月前读过这篇文章 502 错误网关 nginx php7 fpm
我尝试了很多方法但仍然收到 502 错误网关错误。
当我查看错误日志时,我得到以下信息:
2017/02/08 08:46:34 [error] 1482#1482: *166935 connect() to unix:/run/php/php7.0-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 191.96.249.70, server: example.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "xx.xx.xx.xx"
我全新安装了 Ubuntu 16.04,并进行了最新更新。我的 RAM 内存如下:
server:~$ free -m
total used free shared buff/cache available
Mem: 2000 337 961 47 700 1444
Swap: 1021 0 1021
nginx 配置文件中有很多东西,但这里是相关代码:
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_read_timeout 150;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
在文件 /etc/php/7.0/fpm/pool.d/www.conf 中,listen 指令是
listen = /run/php/php7.0-fpm.sock
在目录 run/php 中有一个文件 php7.0-fpm.sock
server:/run/php$ ls
php7.0-fpm.pid php7.0-fpm.sock php7.1-fpm.pid php7.1-fpm.sock
从浏览器中删除 502 错误网关错误的唯一方法是执行以下操作:
sudo systemclt stop php7.0-fpm
sudo systemctl start php7.0-fpm
我每天都需要这样做很多次……当然这不是解决办法。这只是重新启动服务。
我注意到在 nginx 配置文件中有两个函数“upstream php”和“location ~.php”,这两个函数指向不同的位置。这可能是配置错误吗?
不太确定,因为一个指向服务器,另一个指向文件位置。
任何帮助都将非常有帮助。
没骨气