2

したがって、ポート 8081 で実行されている nodejs アプリがあります。

http://mysite.com:8081/

にアクセスするだけで簡単にアクセスしたいhttp://mysite.com/ので、expressjsで仮想ホストをセットアップします。

app.use(express.vhost('yugentext.com', app));

それは簡単すぎるようで、うまくいきません。Expressjs vhosts の仕組みについて混乱していますか?

4

3 に答える 3

3

これらを高速でうまく実行したい場合、問題は高速コードではなく、DNS設定に起因します。

次のようにドメインに を追加A entryします。

127.0.0.1 localhost *.mysite.com *.www.mysite.com

DNS の伝播を待つ必要があります。(数秒から数時間)。

Apache または他の Web サーバーがポート 80 で仮想ホストを実行している場合、競合が発生します。

そして他の方法:

nodejs と Express は、apache とnginx (vhost/proxy のもの)が提供するパフォーマンスとはかけ離れています。

Nginx>Apache (nodejs の方が適しています)

mysite.comからへのプロキシを作成しますmysite.com:8080

これらの方法で、nodejs と Express は UI、メソッド、httpserver などを処理し、Nginx または Apache はプロキシ、仮想ホスト、および静的アセットの管理を非常に高速に処理します。

ここでこれらの構成を確認してください: Nginx と複数の Meteor/Nodejs アプリのトラブル

于 2013-05-06T10:12:13.557 に答える
1

私はあなたがやっていると思います app.listen(8081)。あなたはやっているはずですapp.listen(80)。Express vhosts の経験はありませんが、この単純なユース ケースでは必要ありません。

于 2013-05-06T10:14:26.440 に答える
0
upstream node-apps {
  server host_ip_1:3000;
  server host_ip_2:3000;
}

server {
    listen 80;

    server_name localhost;
        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_set_header X-NginX-Proxy true;
          proxy_pass http://node-apps/;
          proxy_redirect off;
        }
}

これは私のnginx構成です。プロキシは複数のサーバーを渡します。頑張ってください:p

于 2015-01-28T08:37:54.387 に答える