我刚刚升级到最新的LTS 22.04.1版本。一切进展顺利,我被要求重新启动服务器以完成升级。发布这篇文章,当我试图访问我的when服务器时,我会看到错误502 Bad Gateway nginx/1.18.0 (Ubuntu)
。
从错误日志中,我看到以下内容:[notice] 50936#50936: using inherited sockets from "7;8;"
nginx和mysql服务器都处于活动状态并正在运行。我该怎么解决这个问题?
发布于 2022-09-02 23:19:32
502意味着nginx无法连接到上游,在您的例子中是php。PHP可能是通过发行版升级更新的。
ls /var/run/php/
php8.1-fpm.pid php8.1-fpm.sock php-fpm.sock
注意php8.1-fpm.sock
在/etc/nginx/sites-available/default
中,应该有如下内容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
更新之前是php7.4,现在套接字不存在,所以nginx无法将文件传递给php。只需将/var/run/php/php7.4-fpm.sock
更改为新的套接字文件名,执行nginx -s reload
,它就会再次工作。更好的是,将其更改为/var/run/php/php-fpm.sock
,这是一个指向实际PHP的符号链接,而不管版本如何(基于默认安装的PHP )。这样,您就不必每次升级时都更改它。
https://askubuntu.com/questions/1427115
复制相似问题