2

Wercker Continuous Integration & Delivery Platform を使用して、bitBucket リポジトリをテストし、node.js OpenShift サーバーにデプロイしています。Wercker は BitBucket リポジトリに読み込み、ビルドし、node.js 環境でテストし、問題なく合格します。また、jsHint でコードをチェックしており、エラーなしで返されます。

Wercker は、OpenShift と同様に、デプロイがエラーなしで成功したことも示しています。問題は、OpenShift から提供されたアプリケーション URL を確認すると、サーバー エラーが発生することです。

503 Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

これのトラブルシューティングで、サーバーを再起動しました (基本アカウントを実行しており、そのオプションがあります) が、問題は解決していないようです。Wercker も Openshift も問題があることを示していませんが、何らかの理由で、エラーなしでそのドメインにアクセスできません。

これを修正するにはどうすればよいですか (最も基本的な階層で)?

4

2 に答える 2

3

これが解決策でした:

OpenShift Web サイトで入手可能な RHC クライアント ツールをインストールし、アプリケーション ログを確認したところ、OpenShift がルート ディレクトリに server.js ファイルを見つけられないことがわかりました。そこで、app.js ファイルの名前を server.js に変更し、package.json で「開始」値を server.js に変更しました。次に、server.js ファイルのコードを OpenShift 環境変数に設定しました。

server.js は次のようになります。

var http = require('http');
var ip = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1',
    port = process.env.OPENSHIFT_NODEJS_PORT || '8080';

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(port, ip);
console.log('Server running at http://'+ip+':'+port+'/');

アプリケーション URL に接続して、基本的な「Hello World」応答を取得できるようになりました。

(この時点でまだアプリケーションに接続できない場合は、サーバーを再起動するとうまくいくはずです。)

これが将来誰かに役立つことを願っています。

私が参考にした役立つリソースは次のとおりです: https://gist.github.com/ryanj/5267357

于 2014-05-20T20:29:34.863 に答える