2013-04-25 3 views
9

同じインスタンスの2つのポート、たとえばポート80とポート81にnginxを設定しようとしていますが、これまでのところ運がありません。ここで私が何をしようとしています何の例は次のとおりです。Nginxを複数のポートで実行する方法

worker_processes 1; 

events { 
    worker_connections 1024; 
} 

http { 
    include  mime.types; 
    default_type application/octet-stream; 
    sendfile  on; 
    keepalive_timeout 65; 

    server { 
     listen 80; 
     server_name chat.local.com; 

     location/{ 
      proxy_pass http://127.0.0.1:8080; 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "Upgrade"; 
      proxy_set_header Host $host; 
      proxy_buffering off; 

     } 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     } 

    } 

    server { 
     listen 81; 
     server_name console.local.com; 
     location/{ 
      proxy_pass http://127.0.0.1:8888; 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "Upgrade"; 
      proxy_set_header Host $host; 
      proxy_buffering off; 
     } 
    } 
} 

私はconsole.local.comを実行しようと、それはchat.local.comからコンテンツを示しています。 2つのポートでnginxを実行させる方法はありますか?前もって感謝します!

答えて

7

あなたの設定は、私は(私が間違っているなら、私を修正)問題は、このだと思うOK

なります

  • あなたはconsole.local.comポート81でリッスンしている、
  • ことhttp://console.local.com/にアクセスすると、http://console.local.com:81/
  • にアクセスする必要があることを意味します(明示的なポートがないので、デフォルトでポート80になります)。 nginxは、そのserver_nameのポート80でリッスンしています等しく、要求をデフォルトのサーバブロックに渡します。 defaut server-blockは最初のものです(変更する設定がない場合)chat.local.comの処理になります。全てにおいて

ので、あなたはまた、ポート80でリッスンするようにあなたのconsole.local.comを変更したいlikelyhood:両方serverblocksでSERVER_NAMEディレクティブは避け要求

  • を区別するために十分である

    • あなたはいつもリクエストにドメイン名に:81を追加する必要があります。
  • +0

    こんにちはCobacoで動作するはずです、私は完全に私はポートで、その点を指摘して81おかげページにアクセスする必要がある点を忘れてしまいました。 – Uday

    3

    あなたは2回シンプルにリスニング文を追加できます。以下のように
    listen 80;
    listen 81;

    これは、nginxの

    関連する問題