Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Nginx在博客上抛出502坏网关(子域)_Php_Nginx - Fatal编程技术网

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