Nginx在博客上抛出502 Bad Gateway(子域名)

时间:2016-12-17 14:01:02

标签: php nginx

所以,我最初尝试设置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-mysqllink

/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;
        }
}

我做错了什么?

非常感谢你!

1 个答案:

答案 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;