Nginx PHP 服务器块返回 502 错误
Nginx PHP server block returning 502 error
我正在尝试在我的本地 Nginx 安装上创建一个简单的服务器块,它将 return 一个简单的 PHP index.php 页面。我以前做过这件事,没有任何问题,但在这种情况下,我似乎无法让它工作,我也不知道为什么!每当我尝试访问 URL.
时,我都会收到 502 错误
这是我的本地主机文件:
127.0.0.1 localhost
127.0.1.1 james-ESPRIMO-P420
127.0.0.1 st-davids-lab.dev
127.0.0.1 molecare.dev
127.0.0.1 st-davids-ire.dev
127.0.0.1 charity-site.dev
127.0.0.1 smaxtec.dev
127.0.0.1 product-viewer.dev
127.0.0.1 stdavids-brain.dev
127.0.0.1 http://php-parser.dev
127.0.0.1 php-parser.dev
这是我在 /etc/nginx/sites-available 文件夹中的 conf 文件:
server {
listen 80;
server_name php-parser.dev http://php-parser.dev;
root /var/www/php-parser/;
index index.php index.html;
# Important for VirtualBox
sendfile off;
location / {
try_files $uri $uri/ /index.php?$query_string;
#rewrite ^(.*)$ /index.php
}
location ~* \.php {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_cache off;
fastcgi_index index.php;
}
我还通过执行当前命令在 sites-enabled 文件夹中创建了符号 link:
sudo ln -s /etc/nginx/sites-available/phpparser.conf /etc/nginx/sites-enabled
在我的 /var/www/php-parser/index.php 文件中,我有一个简单的 die 语句,当我访问 URL php-[=34 时应该显示它正在工作=] 但这永远不会被击中。
任何人都可以看到这里出了什么问题,因为它令人气愤!这将是愚蠢的事情!
这是 Nginx 错误日志的输出:
2016/08/03 11:01:55 [crit] 4830#4830: *34 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: php-parser.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "php-parser.dev"
谢谢
所以,当我升级 Ubuntu 时,它似乎将我的 PHP 版本升级到 PHP7 并删除了我的 PHP5 包。我的 conf 文件仍然指向旧的 PHP5 版本,所以我只是将其添加到我的默认和必要的 conf 文件中:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
我正在尝试在我的本地 Nginx 安装上创建一个简单的服务器块,它将 return 一个简单的 PHP index.php 页面。我以前做过这件事,没有任何问题,但在这种情况下,我似乎无法让它工作,我也不知道为什么!每当我尝试访问 URL.
时,我都会收到 502 错误这是我的本地主机文件:
127.0.0.1 localhost
127.0.1.1 james-ESPRIMO-P420
127.0.0.1 st-davids-lab.dev
127.0.0.1 molecare.dev
127.0.0.1 st-davids-ire.dev
127.0.0.1 charity-site.dev
127.0.0.1 smaxtec.dev
127.0.0.1 product-viewer.dev
127.0.0.1 stdavids-brain.dev
127.0.0.1 http://php-parser.dev
127.0.0.1 php-parser.dev
这是我在 /etc/nginx/sites-available 文件夹中的 conf 文件:
server {
listen 80;
server_name php-parser.dev http://php-parser.dev;
root /var/www/php-parser/;
index index.php index.html;
# Important for VirtualBox
sendfile off;
location / {
try_files $uri $uri/ /index.php?$query_string;
#rewrite ^(.*)$ /index.php
}
location ~* \.php {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_cache off;
fastcgi_index index.php;
}
我还通过执行当前命令在 sites-enabled 文件夹中创建了符号 link:
sudo ln -s /etc/nginx/sites-available/phpparser.conf /etc/nginx/sites-enabled
在我的 /var/www/php-parser/index.php 文件中,我有一个简单的 die 语句,当我访问 URL php-[=34 时应该显示它正在工作=] 但这永远不会被击中。
任何人都可以看到这里出了什么问题,因为它令人气愤!这将是愚蠢的事情!
这是 Nginx 错误日志的输出:
2016/08/03 11:01:55 [crit] 4830#4830: *34 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: php-parser.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "php-parser.dev"
谢谢
所以,当我升级 Ubuntu 时,它似乎将我的 PHP 版本升级到 PHP7 并删除了我的 PHP5 包。我的 conf 文件仍然指向旧的 PHP5 版本,所以我只是将其添加到我的默认和必要的 conf 文件中:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;