2

ポート80をリッスンするnginxを備えたサーバーがあり、いくつかのドメイン名の構成があり、接続は異なるポートにプロキシする必要があります。

ここに私の設定ファイルがあります:

ドメイン1

#This is for redirecting everyone from www.domain.com to domain.com
server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

    server_name www.domain1.com;

    return 301 $scheme://domain1.com$request_uri;
}

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

        server_name domain1.com;

        location / {
                proxy_pass http://localhost:8081/;
                proxy_set_header  X-Real-IP  $remote_addr;
        }
}

ドメイン2

#This is for redirecting everyone from www.domain.com to domain.com
server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

    server_name www.domain2.com;

    return 301 $scheme://domain2.com$request_uri;
}

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

        server_name domain2.com;

        location / {
                proxy_pass http://localhost:8090/;
                proxy_set_header  X-Real-IP  $remote_addr;
        }
}

ドメイン3

#This is for redirecting everyone from www.domain.com to domain.com
server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

    server_name www.domain3.com;

    return 301 $scheme://domain3.com$request_uri;
}

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

        server_name domain3.com;

        location / {
                proxy_pass http://localhost:8091/;
                proxy_set_header  X-Real-IP  $remote_addr;
        }
}

これらの設定ファイルはすべて (いつものように) に配置され/etc/nginx/sites-available/、シンボリック リンクされています。/etc/nginx/sites-enabled/

最初のファイルを追加すると、すべてが魅力的に機能し、2 番目のファイルを追加しても同じです。3 番目のファイルを追加した後、nginx はservice nginx reloadorservice nginx restartまたはservice nginx start

と に対応しservice nginx stopますservice nginx status。これらの機能は明らかに機能しますが、これらの前提条件の他の機能は応答せず、何もしません。以下の出力は、コンソールからコピーして貼り付けただけです。

# service nginx status
[ ok ] nginx is running.
# service nginx reload
# service nginx restart
# service nginx stop
[ ok ] Stopping nginx: nginx.
# service nginx start
# service nginx status
[FAIL] nginx is not running ... failed!
#

3番目のファイルへのシンボリックリンクを削除すると、すべてが再び完全に機能します。

ここに質問があります - 私のセットアップに何か問題がありますか? または私の論理?またはnginxで?

環境は次のとおりです。

- Debian Squeeze x64
- Nginx version 1.2.6
4

1 に答える 1

1

発生している症状は、3 番目のファイルを含む nginx 構成が正しくないことを示しています。これがリロードが失敗する理由です。

の出力から、nginx -t構成のどこに問題があるかがわかります。

于 2013-03-28T11:06:47.647 に答える