apt
在我的本地(不是服务器)全新 UBUNTU 18 LTS 上安装 NGINX 和 PHP的所有基本步骤之后,localhost 很好,但基本phpinfo.php
脚本不起作用:“502错误的网关”
我需要所有简单和即插即用。更改/etc/nginx/sites-available/default
为
# Default server configuration
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
版本:
- PHP 7.2
- nginx 1.14
权限:
sudo chown -R $USER:$USER /var/www; sudo chmod -R 755 /var/www
- (已测试
sudo chown -R www-data:www-data /var/www
,但没有错误变化)
sudo tail /var/log/nginx/error.log
节目
*...1 connect() 到 unix:/var/run/php/php7.0-fpm.sock 失败(2:没有此文件或目录)连接到上游时,客户端:127.0.0.1,服务器:_,请求:“GET /phpinfo.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/php/php7.0-fpm.sock:”,主机:“localhost”
答案1
sudo tail /var/log/nginx/error.log
节目 “..unix:/var/run/php/php7.0-fpm.sock……”,所以我们想“...php7.0,是吗?”。
标准 NGINX 建议使用(取消注释)fastcgi_pass
... 这对版本非常敏感。需要注释(!)。但是这个解决方案并不理想,需要控制 PHP 端口(更多配置 - 是吗?)...
因此,将7.0
文件的第 行更改sites-available/default
为,问题就解决了。 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
7.2