同じマシン上に異なるプロジェクト用に複数のnode.jsサーバーをセットアップしたい(ただし、異なるポートでリッスンしている)(他のものに影響を与えることなくコードを編集してコードを編集できる)ただし、ポート番号を入力せずにブラウザーからこれらのWebアプリにアクセスできるようにして、代わりに異なるURLを異なるポートにマップします。 45.23.12.01/app-> 45.23.12.01:8001。
これに node-http-proxy を使用することを検討しましたが、SSLはまだサポートされていません。私の勘は、nginxが最も適しているかもしれないということです。これまでnginxをセットアップしたことがありません-どのような構成を行う必要がありますか?私が見た設定ファイルの例は、私が持っていないサブドメインのみを扱っています。
または、同じIPアドレスで複数のアプリをホストするためのより良い(安定した、手間のかからない)方法はありますか?
まず、 wikiドキュメント を読むことから始めます。それは非常に徹底的で、サンプルが含まれています。 nginxの構成全体を説明することはしませんが、質問に関連する部分を以下に示します。
server {
listen 80;
server_name example.com;
location /foo {
proxy_pass http://localhost:9000;
}
location /bar {
proxy_pass http://localhost:9001;
}
location /baz {
proxy_pass http://localhost:9002;
}
}
そこで何が起こっているのかは明らかなはずです。各 location は、指定されたURIを適切なnode.jsバックエンドにプロキシします。
nginxは行く方法かもしれません。少なくとも、それは私のサーバーで実行しているものです。 config/descriptionの例はここにあります: https://blog.noort.be/2011/03/07/node-js-on-nginx.html
基本的にnginxでさまざまなサイトを設定し、各サイトはトラフィックを別のポートで実行されているnodejsアプリにルーティングします。