Php Nginx在博客上抛出502坏网关(子域)
所以,最初我试图设置Php Nginx在博客上抛出502坏网关(子域),php,nginx,Php,Nginx,所以,最初我试图设置mysite.com/blog,但对此感到非常厌倦,所以我改为设置blog.mysite.com 它成功地加载了索引文件:index.htm,但是如果我试图访问一个文件info.php,它说:502坏网关,我检查了/var/log/nginx/error.log,它说: 2016/12/17 09:24:13[错误]1042#0:*4 connect()失败(111: 连接被拒绝)连接到上游时,客户端:x.xx.xx.xx, 服务器:blog.mysite.com,请求:“G
mysite.com/blog
,但对此感到非常厌倦,所以我改为设置blog.mysite.com
它成功地加载了索引文件:index.htm
,但是如果我试图访问一个文件info.php
,它说:502坏网关
,我检查了/var/log/nginx/error.log
,它说:
2016/12/17 09:24:13[错误]1042#0:*4 connect()失败(111:
连接被拒绝)连接到上游时,客户端:x.xx.xx.xx,
服务器:blog.mysite.com,请求:“GET/info.php HTTP/1.1”,上游:
"fastcgi://127.0.0.1:9000,主持人:“blog.mysite.com”
我通过以下途径安装了php:sudo-apt-get-install php5-fpm-php5-mysql
来自本教程:
/etc/nginx/sites enabled/myblog
中的我的nginx配置是:
server {
listen 80;
root /home/www/flask-deploy/myblog;
fastcgi_index index.php;
index index.html index.htm index.nginx-debian.html;
server_name blog.mysite.com www.blog.mysite.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
我做错了什么
非常感谢你 首先,您的nginx配置到php-fpm.sock的路径不正确。(您的error.log是正确的;)) 1) 您使用的是哪个PHP版本?使用:
php -v
2) 确保安装了php fpm,这对于nginx非常重要
sudo apt-get install php-fpm
3) 设置php fpm的正确路径
例如,我使用PHP7.0,我的路径是:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
我的一些项目正在PHP5.6上运行,路径是:
fastcgi_pass 127.0.0.1:9000;
4) 重新启动nginx和php-fpm(php5.6-fpm、php7.0-fpm…)
如何告诉php版本?如何安装php5?我是通过
sudo apt get install php5 fpm php5 mysql安装的,但是php-v
说它没有phpSo try命令:它会告诉你php安装在哪里。输出看起来应该是:/usr/bin/php try to run:/usr/bin/php-vu,但它没有显示任何内容。我运行了locate php
,看到了很多东西,其中之一是:/var/lib/php5/modules/fpm
。我也更新了我的代码,上面的错误,想法?试试这个教程:。按照PHP5.6的说明操作。确保安装时没有错误。
sudo service nginx restart
sudo service php5.6-fpm restart