0

さて、これはおそらく非常に初歩的な質問ですが、私は node.js から始めたばかりで、すべてのチュートリアルで次のようにするように指示されていることに気付きました。

app.listen(3000);
console.log('Listening on port 3000');

サーバーを起動します。これはローカル ホストでのテストには問題なく機能しますが、コンソールを使用して次のように入力してサーバーを起動する必要があります。node server.js

本番環境では、これをどのように管理しますか? トンネリングしてサーバーを起動するためにパテのようなプログラムを使用する必要はないと確信しています。誰かが私にこれを説明できますか?現在、Express Web フレームワークで node.js の最新ビルドを使用しています。

ありがとう

4

2 に答える 2

3

Amazon の AWS Elastic BeanstalkHerokuなどの優れたプラットフォームを使用しない限り、実稼働環境では、サーバーにログインし、アプリケーションをアップロードして起動するために、何らかのコンソール アクセス (SSH) が必要になります。アプリがバックグラウンド サービスとして継続的に実行され、クラッシュした場合は再起動されるようにする必要があります。

foreverなど、それを支援するノード用のユーティリティがあります。

永遠に、あなたはこのようなことをします:

$ git clone git://gitserver:myapp.git
$ cd myapp
$ npm install
$ sudo npm install -g forever
$ forever start server.js

これにより、server.js がバックグラウンドでデーモンとして実行されたままになり、SSH を閉じることができます。実行中のデーモンと実行可能なログを確認するには:

$ forever list
$ forever logs 0

アプリは引き続きポート 3000 で実行されるため、たとえば、nginx などのポート 80 をリダイレクトするようにリバース プロキシ サーバーを構成することをお勧めします。

于 2013-07-31T20:07:49.523 に答える
0

screenUbuntu またはその他の Linux のバリエーションを使用している場合は、使用してみてください。

SSH 経由で接続している場合は、接続してから+を押してから+をscreen node server.js押します。コンソールにすぐに戻ることができ、プロセスを停止する必要はありません。[Control][A][Control][D]exitnode

于 2013-08-01T01:46:17.610 に答える