如何真正使用 NGINX 安装 PHP?

如何真正使用 NGINX 安装 PHP?

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

相关内容