2012-01-12 8 views
6

今日初めてNGINXサーバーをインストールしました。それはうまく動作しますが、私はnode.jsと一緒に動作するサーバーの設定に小さな問題があります。Nginx.confとNode.jsの設定シナリオ

nginx.confに次のロジックが必要です。

  1. nginxの
  2. から提供される
  3. すべての静的ファイル(画像、JS、少ないとCSS)を無効にするディレクトリの一覧はhttp://hostname/remote_data/??/??/などのすべての要求?????? node.jsサーバーにルーティングされます
  4. http://hostname/??/??/ ?????? index.htmlにルーティングされるので、node.jsに到達しないようにしてください。

疑問符はオプションのパラメータです。0〜7のパラメータを使用できます。

この設定シナリオを実行するのは非常に簡単ですが、お詫び申し上げますが、私はそれを約3時間で戦っています。ステップ1と2は準備が整いました - Googleに10倍。

よろしく ダン

+0

あなたはこの質問への答えを見つけましたか? – jwerre

答えて

5

あなたはthis answerをチェックアウトする必要があります。受け入れられた答えに次のようなものがあります。

upstream node_app { 
    server localhost:8080; 
} 

server { 

    listen 80; 
    server_name FOO_HOSTNAME_GOES_HERE; 

    root /the/root/to/foo/document/root; 
    access_log /var/log/nginx/foo.access.log; 
    error_page 404 /404.html; 

    location /remote_data/ { 

    # Proxy request to node: 

    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-NginX-Proxy true; 

    proxy_pass http://node_app; 
    proxy_redirect off; 

    access_log /var/log/nginx/foo_nodeapp.access.log; 

    } 

    location/{ 
    try_files $uri $uri/index.html 404; 
    } 

} 

未定です。

+0

お返事ありがとうございます。私はそれが次の設定で動作するように管理しました: Dan

+0

これは私の一日を保存しました。ありがとう。 – Aldo

2

私はそれが次のconfで動作させることができた:

server { 
    root /var/www; 
    listen  80; 
    server_name _; 


    location ~* /remote_data { 
     # Proxy request to node: 

     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://node_app; 
     proxy_redirect off; 
     break; 
    }  

    location/{ 
     index index.html index.htm; 

     location ~ \.(js|css|png|jpg|jpeg|gif|ico|html|less)$ { 
      expires max; 
      break; 
     } 

     rewrite ^/(.*)?$ /index.html?q=$1 last; 
    } 

    # serve static files directly 
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ { 
     access_log  off; 
     expires   30d; 
    } 
} 
関連する問題