[英]Has anyone been successful with Antlr v4 generating javascript for Hive
[英]Has anyone been successful deploying a node (express) app with Amazon OpsWorks?
正如標題所示,我一直在使用Amazons新的OpsWorks管理系統來部署應用程序,但是我無法弄清楚如何讓節點服務器開始在實例上運行。 從端口應用程序層也可以訪問我假設我需要在端口80上偵聽,但我覺得問題是沒有正確的文件被啟動。
與Heroku上的Procfile類似,是否需要包含一個特殊的啟動腳本類型文件,以便OpsWorks正確啟動它?
請注意,我還沒有使用Chef的經驗,因此我希望能夠使用默認選項,即不編寫自定義Chef配方來完成它。
我花在這上面的時間是令人尷尬的,但無論如何我都會分享,希望能挽救其他人的生命時間,否則亞馬遜會偷走他們的生命。
process.env
選擇端口號的方法,請將您的偵聽端口更改為80(如果適用,則更改為443)。 main
文件是什么。 將其重命名為server.js
並將其放在應用程序的根目錄中。 這是monit嘗試運行的文件。 希望這會有所幫助。 如果沒有,或者所有這一切都是顯而易見的,我為我的愚蠢和責備缺乏睡眠道歉。 :)
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對我來說就像一個冠軍。
只需復制AWS OpsWorks頁面即可配置node.js應用程序:
“默認情況下,我們希望您的Node.js應用程序在端口80上偵聽。此外,我們傳遞給節點的文件必須命名為”server.js“,並且應該位於應用程序的根目錄中。”
問候。
我也在玩這個游戲,希望我的成功之路能夠幫助別人。 Node.js通常需要提升權限才能在端口80上運行,所以我發現雖然命名示例應用程序app.js很好,但您需要修改默認OpsWorks Node.js部署Chef recipe的第2行以使用sudo:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.