簡體   English   中英

Node.js / Strongloop:工作新貴配置示例

[英]Nodejs/Strongloop: working upstart config example

在將Strongloop更新至v2.10之后, slc停止寫入日志。 另外,我無法使該應用程序以production模式啟動。

/etc/init/app.conf

#!upstart
description "StrongLoop app"

start on startup
stop on shutdown

env NODE_ENV=production

script
        exec slc run /home/ubuntu/app/ \
                -l /home/ubuntu/app/app.log \
                -p /var/run/app.pid
end script

有人可以檢查我的新貴配置或提供其他工作副本嗎?

您是否正在將pid寫入文件,以便可以使用它將SIGUSR2發送到進程以觸發從logrotate重新打開日志?

假設您使用的是Upstart 1.4+(Ubuntu 12.04或更高版本),那么最好讓slc run日志slc run到其stdout,然后由Upstart負責將其寫入文件,以便為您完成日志輪換:

#!upstart
description "StrongLoop app"

start on startup
stop on shutdown

# assuming this is /etc/init/app.conf,
# stdout+stderr logged to: /var/log/upstart/app.log
console log

env NODE_ENV=production

exec /usr/local/bin/slc run --cluster=CPUs /home/ubuntu/app

“免費”的日志輪換非常好,但是這種方法的最大好處是Upstart可以記錄slc run報告的錯誤,即使它們在嘗試設置其內部日志記錄時崩潰也是如此,這使調試變得更加容易。

除了對實際應用程序意味着什么以外, NODE_ENVslc run的唯一影響是將群集工作器的默認數量設置為檢測到的CPU內核數量,從字面上轉換為--cluster=CPUs

我發現的另一個問題是Upstart所使用的$ PATH中沒有node / npm路徑前綴,因此我通常將可執行文件的完整路徑放在Upstart作業中。

服務安裝程序

您也可以嘗試使用strong-service-install,這是slc pm-install用於將slc pm-install -pm作為OS服務安裝的模塊:

$ npm install -g strong-service-install
$ sudo sl-svc-install --name app --user ubuntu --cwd /home/ubuntu/app -- slc run --cluster=CPUs .

注意slc run--

暫無
暫無

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

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