0

Nginxに:80トラフィックをシンクラスターにプロキシさせるのに苦労しています。

現時点では..何も起こりません。http://ec2-50-19-75-170.compute-1.amazonaws.com/を参照してください

私の設定ファイルについては、以下を参照してください。

私のetc/nginx / sites-enabled/dankit設定ファイルは次のようになります

upstream thin {
     server 0.0.0.0:3000;
     server 0.0.0.0:3001;
     server 0.0.0.0:3002;
}

server {
    listen 80;
    server_name ec2-50-19-174-64.compute-1.amazonaws.com;

    root /home/ubuntu/apps/dankit-rails;

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect false;

      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }
      if (-f $request_filename.html) {
        rewrite (.*) $1.html break;
      }
      if (!-f $request_filename) {
        proxy_pass http://thin;
        break;
      }
    }

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

次に実行しました:sudo ln -s sites-available / dankit sites-enabled / dankit

/etc/thin/dankit.yml

pid: tmp/pids/thin.pid
address: 0.0.0.0
timeout: 30
port: 3000
log: log/thin.log
max_conns: 1024
require: []

max_persistent_conns: 512
environment: production
servers: 3
daemonize: true
chdir: /home/ubuntu/apps/dankit-rails

両方が実行されていることを確認するだけです。

ubuntu @ domU-12-31-39-06-7A-F8:/ etc / nginx / sites-available $ ps -ef | grep -i thin root 923 1 2 16:06?00:00:09シンサーバー(0.0.0.0:3000)
ルート934 1 1 16:06?00:00:09シンサーバー(0.0.0.0:3001)
ルート945 1 1 16:06?00:00:08シンサーバー(0.0.0.0:3002)ubuntu
971 817 0 16:14 pts / 0 00:00:00 grep -i thin ubuntu @ domU-12-31-39-06-7A-F8:/ etc / nginx / sites-available $ ps -ef | grep -i nginx root 542 1 0 16:04?00:00:00 nginx:マスタープロセス/ usr / sbin / nginx www-data 545 542 0 16:04?00:00:00 nginx:ワーカープロセス


シンサーバーは正常に起動し、railsディレクトリのログにエラーは表示されません。

ec2セキュリティグループのセキュリティの問題だと思い始めています。ただし、0.0.0.0 / 0 3000-3030のTCPと、通常の:80およびsshを追加しました。

これは私を精神的に駆り立てています!任意の提案をいただければ幸いです。

4

4 に答える 4

1

I then ran: sudo ln -s sites-available/dankit sites-enabled/dankit

問題は、次の 2 つのいずれか、または両方である可能性があります。

  1. ln -s /etc/nginx/sites-available/dankit /etc/nginx/sites-enabled/dankit
  2. chown nobody:nobody /etc/nginx/sites-enabled/dankit

私はシンボリック リンクのフル パスのみを使用する傾向があります...おそらくそれは単なる良い習慣ですが、有効なサイトに対して権限が正しく構成されていないと、nginx が満足しないこともわかりました。

于 2011-06-24T12:51:11.007 に答える
0

並べ替えました。

シンボリックリンクが問題だった理由に答えることができる人なら誰でも答えを得ることができます!

すべてのフィードバックとヘルプに感謝します。基本的に、他の誰かがこの問題に遭遇した場合...これがそれでした。

/ etc / nginx / site-enabledから構成を削除すると、サーバーに影響することに気付きました。

..そうですね!

/ etc / nginx/site-availableから/etc/ nginx / site-enabledに構成を再対称リンクすると、効果がないことに気付きました。デフォルトのnginxのデフォルト設定でさえ機能しませんでした。

それで!ここでシンボリックリンクに問題があるはずです。/ etc / nginx / site-available / dankitをメインのNginx構成にインポートして、簡単なテストを行いました。サイトがアップしています。

したがって、私は私のシンボリックリンクコマンドを信じています:

sudo ln -s sites-available/dankit sites-enabled/dankit

bollocksです。別の解決策を検討する必要があります。

于 2011-06-16T15:29:20.280 に答える
0

この URL http://articles.slicehost.com/2008/5/27/ubuntu-hardy-nginx-rails-and-thinを見ると、構成が完全に一致しているため、問題はないと思いますが、いくつかのことを確認してください。

次の内容を確認してください。

  1. シンアドレスを指すように変更する127.0.0.1
  2. TCP 接続用のシン & 80 のポート番号に対してファイアウォールが開いていることを確認します。Amazonコンソールを見るのではなく、iptablesコマンドを実行してください。
  3. 最後に、public-dns がCORRECT
于 2011-06-16T11:14:53.997 に答える
0

おそらく、すべての 0.0.0.0 を 127.0.0.1 に変更するか、127.0.0.1 を指す localhost に変更します。0.0.0.0 と 127.0.0.1 の違いは、前者がローカルホストの物理インターフェイスを参照し、後者がソフトウェア インターフェイスを参照することです。

于 2011-06-15T16:59:57.873 に答える