14

タイトルが示すように、私はAmazonの新しいOpsWorks管理システムを使用してアプリをデプロイすることを試してきましたが、ノードサーバーをインスタンスで実行し始める方法を理解できませんでした。アプリケーション層もアクセスできるポートから、ポート80でリッスンする必要があると思いますが、問題は正しいファイルが開始されていないことだと感じています。

HerokuのProcfileと同様に、OpsWorksが正しく起動するために含める必要のある特別なstart-scriptタイプのファイルはありますか?

私はまだChefの経験がないので、デフォルトのオプションで動作させることを望んでいます。つまり、カスタムChefレシピを作成しないでください。

4

5 に答える 5

28

私がこれに費やした時間は恥ずかしいことですが、他の人がアマゾンによって盗まれるであろう彼らの人生の時間を節約することを願ってとにかく共有します。

  • あなたの質問に答えるために、はい、私はノード/エクスプレスアプリケーションを実行しました。
  • ポート番号を選択する方法を使用している場合はprocess.env、リスニングポートを80(または適切な場合は443)に変更します。
  • main最も重要なことは、Amazonはあなたのファイルが何であるかを気にしないことです。名前を変更しserver.jsて、アプリケーションのルートディレクトリに配置します。これは、monitが実行しようとするファイルです。

うまくいけば、それがお役に立てば幸いです。そうでない場合、またはそれがすべて明らかな場合は、私の愚かさをお詫びし、睡眠不足を非難します。:)

于 2013-02-21T05:45:06.190 に答える
4

ZachRabbitからの素晴らしい答え。OpsWorksが、デプロイされたアプリケーションプロセスの環境変数(つまり、process.env.PORT)の設定をサポートするようになったことを付け加えたいと思います。

アプリを追加(または編集)するときに、server.jsで次のようなものを使用している場合は、先に進み、キーがPORTで値が80の環境変数を設定できます。

!/usr/bin/env node
var debug = require('debug')('my-app');
var app = require('app');

app.set('port', process.env.PORT || 3000);

var server = app.listen(app.get('port'), function() {
  debug('Express server listening on port ' + server.address().port);
});

環境変数の設定の詳細については、次を参照してください。

http://docs.aws.amazon.com/opsworks/latest/userguide/apps-environment-vars.html

ファイル名がserver.jsであることを確認し、環境変数PORTを80に設定することは、私にとってはチャンピオンのように機能しました。

于 2014-12-01T22:01:19.000 に答える
1

node.jsアプリを設定するためのAWSOpsWorksページをコピーするだけです。

「デフォルトでは、Node.jsアプリがポート80でリッスンすることを期待しています。さらに、ノードに渡すファイルは「server.js」という名前で、アプリのルートディレクトリに配置する必要があります。」

よろしく。

于 2013-09-29T04:39:44.003 に答える
0

私もこれを少し遊んでみましたが、成功への道が誰かを助けてくれることを願っています。Node.jsは通常、ポート80で実行するために昇格された権限を必要とするため、サンプルアプリapp.jsに名前を付けることは問題ありませんが、sudoを使用するにはデフォルトのOpsWorksNode.jsデプロイシェフレシピの2行目を変更する必要があることがわかりました。

于 2013-02-21T18:23:35.107 に答える
0

少し話題から外れているかもしれませんが、私はこれに数時間を費やしたので、共有する価値があると思いました:

OpsWorksでHapi.jsサーバーをセットアップするときは、ホスト名を使用していないことを確認する必要がありましlocalhostたが、代わりにに設定しました0.0.0.0。そうでなければ、それはただ黙って失敗し続けました。

それが誰かを助けることを願っています。

于 2014-10-08T20:16:35.987 に答える