簡體   English   中英

在OpenShift node.js服務器上部署存儲庫

[英]Deploying a repository on an OpenShift node.js server

我正在使用Wercker持續集成和交付平台在node.js OpenShift服務器上測試和部署BitBucket存儲庫。 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都不表明存在問題,但是由於某種原因,我根本無法毫無錯誤地訪問該域。

如何解決此問題(使用最基本的層)?

這是解決方案:

我安裝了OpenShift網站上可用的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

您的應用程序應該能夠監聽Openshift的反向代理定義的IP和端口。

您需要在服務器配置中更改端口號或IP。

在這里解釋: OpenShift node.js錯誤:收聽EACCES

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM