pky*_*eck 28 linux daemon node.js express
我按照这些说明让守护进程正常工作:http: //kevin.vanzonneveld.net/techblog/article/run_nodejs_as_a_service_on_ubuntu_karmic/
但是因为这会在开发模式下启动应用程序,所以日志文件会被socket.io调试日志发送垃圾邮件.
我尝试在upstart-conf文件中将NODE_ENV设置为production,但没有成功.
script
export HOME="/root"
export NODE_ENV=production
exec /usr/local/bin/node /where/yourprogram.js >> /var/log/node.log 2>&1
end script
Run Code Online (Sandbox Code Playgroud)
没用.
Yuv*_*val 27
尝试
exec NODE_ENV=production /usr/local/bin/node /where/yourprogram.js >> /var/log/node.log 2>&1
Run Code Online (Sandbox Code Playgroud)
在我的设置中,我是一个较小的用户,所以它是sudoing
exec sudo -u some-user NODE_ENV=production /usr/local/bin/node /where/yourprogram.js >> /var/log/node.log 2>&1
Run Code Online (Sandbox Code Playgroud)
而且由于它产生了另一个用户,它可能还有另一个环境.我是新手,但它对我有用.
Pet*_*ons 18
这是一个可以使用的更简单的upstart脚本.Upstart现在支持您在没有脚本部分或太多嵌入式shell语法的情况下直接执行的所有操作.这包括环境变量(env),工作目录(chdir),用户/组(setuid,setgid),日志处理(console log)等.您的日志文件将被处理并旋转到/var/log/upstart/your_app.log
description "start and stop the example express.js/node.js server"
author "John Doe <jd@example.com>"
start on filesystem and started networking
respawn
console log
chdir /opt/your_app
setuid your_app_user
setgid your_app_user
env PATH=./node_modules/.bin:./node/bin:/usr/bin
env NODE_ENV=production
exec app/server.js
Run Code Online (Sandbox Code Playgroud)
Tia*_*HUo 15
如果你在生产中使用node.js,我建议你使用forever.js守护你的程序 https://github.com/nodejitsu/forever
使用npm安装: [sudo] npm install forever -g
export NODE_ENV=production并运行forever start app.js您还可以指定放置错误和stdout日志的位置.
| 归档时间: |
|
| 查看次数: |
58737 次 |
| 最近记录: |