所以,我最初尝试设置mysite.com/blog
,但很满意它,所以我设置了blog.mysite.com
。
它成功加载了索引文件:index.htm
,但是如果我尝试访问文件info.php
,它就会失败说:502 bad gateway
,我检查了/var/log/nginx/error.log
,它说:
2016/12/17 09:24:13 [错误] 1042#0:* 4 connect()失败(111: 连接上线时拒绝连接,客户端:x.xx.xx.xx, server: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
:link
/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;
}
}
我做错了什么?
非常感谢你!
答案 0 :(得分:2)
首先,你的nginx配置有错误的php-fpm.sock路径。 (你的错误.log是对的;))
1)您使用的是哪个PHP版本?使用:
i++
2)确保 php-fpm 已安装,这对nginx非常重要
php -v
3)设置php-fpm的正确路径
例如,我使用 PHP7.0 ,我的路径是:
sudo apt-get install php-fpm
我的一些项目正在 PHP5.6 上运行,路径为:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
4)重启nginx和php-fpm(php5.6-fpm,php7.0-fpm ...)
fastcgi_pass 127.0.0.1:9000;