web-dev-qa-db-ja.com

Nginx:502 Bad GateWay

Nginxをインストールしてみます。以前はlighttpdを使用していましたが、今はnginxをインストールする必要があります。構成nginxを手伝ってもらえますか?

私はdebian6を使用しています。私のnginx.conf:

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

私のサイト-有効/デフォルトは次のように見えます

server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    root /var/www; #!
    index index.php index.html index.htm; #1
    access_log      /var/log/nginx/access.log info;
    error_log       /var/log/nginx/error.log info;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to index.html
            autoindex on;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }

    location /doc/ {
            alias /usr/share/doc/;
            autoindex on;
            allow 127.0.0.1;
            deny all;
    }

    location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one

    location ~ /\.ht {
            deny all;
    }

}

Php.iniに追加しますcgi.fix_pathinfo = 0;
php5-cgiはspawn-fcgiとして実行されています127.0.0.1-p 9000 -u www-data -f/usr/bin/php5-cgi

しかし、私は502エラー(悪いゲートウェイ)を受け取ります私の/ var/log/say

2012/05/16 15:35:25 [error] 13427#0: *12 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /ndex.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", Host: "localhost"

助けを求めてください。

===========================

ご協力ありがとう御座います。 sqpwn-fcgiを実行しませんでした=> php-cgiはポート9000でリッスンしていません。

2

PHPが実行されていないか、実行されているがそのソケットでリッスンしていません。 ps -eF | grep phpで実行されていること、およびnetstat -tlpn | grep :9000でリッスンしていることを確認してください。 /var/log/syslogのPHP)または/var/log/の独自のログファイルからのエラーメッセージを確認します。

3
mgorven

Nginxボックスのエラーログにエラーがありますか? (おそらく/ var/log/nginx /のどこかにあります)これは問題を見つけるときに役立つかもしれません。

-

さて、私はログからその部分を逃しました。私が思うのは、fastcgiの設定が正しくないということです...

0
Hannes