6

このリンクのように、Node.js アプリケーションを openshift にデプロイしようとしていました。

私はこのコードを理解しています

var http = require('http');

var server = http.createServer(function(req, res) {
    res.writeHead(200);
    res.end('Hello Http');
});
server.listen(3000);

ローカルで実行しても問題ありません

$ node server.js // saved as server.js

しかし、openshift でこのアプリケーションをコミットすると、これはどのように機能しますか? これは非常に単純なコードです。チャット アプリケーションであるダウンロード コードがいくつかあり、クライアント サーバーはポートでリッスンするように構成する必要があります (ローカルホストでポート番号 3000 を使用していました)。

localhost ではポート番号 3000 で動作しますが、Openshift で動作させるにはどうすればよいですか?

4

2 に答える 2

9

ポートでリッスンする必要がありますprocess.env.OPENSHIFT_NODEJS_PORT。したがって、次のようなものが機能するはずです。

server.listen(process.env.OPENSHIFT_NODEJS_PORT || 3000);

例については、こちらを参照してください:エラー: Openshift アプリで EACCES をリッスンします

于 2013-10-08T18:36:21.477 に答える
2

socket.io の問題は、その npm パッケージがローカルにインストールされているが、openshift にはインストールされていないことです (依存関係はプッシュされません)。そのためには、ssh 経由でログインできます (openshift コントロール パネルの右側のメニューで「アプリケーションにログインしますか?」を探し、指示に従い、提供された ssh 接続を使用します)、ターミナル o Putty でログインし、次の場所に移動します。

cd app-root/repo 

また

cd $OPENSHIFT_REPO_DIR

その後

npm install socket.io

これを使用して、問題なくマングースやその他の依存関係をインストールしました。また、使用できます

node server.js

コマンドラインからサイトを実行する;)

于 2013-10-21T18:31:31.340 に答える