【发布时间】:2014-10-28 21:09:53
【问题描述】:
我已在 AWS EC2 上成功安装并运行 NodeJS。我使用脚本自动启动它。它也可以正常工作。
现在我想安装同一个应用程序的另一个实例 - 在单独的文件夹下并监听不同的端口。
第二次安装后,我有两个单独的节点项目:
- /var/nodes/fc-dev - 开发节点和
- /var/nodes/fc-prod - 生产节点
我还为生产模块创建了单独的脚本 - /etc/init/fc-prod.conf
这是/etc/init/fc-dev.conf 脚本:
# 将日志保存到 /var/log/upstart/fc-dev.log
控制台日志
# Starts only after drives are mounted.
start on started mountall
stop on shutdown
# Automatically Respawn. But fail permanently if it respawns 10 times in 5 seconds:
respawn
respawn limit 10 5
script
exec sudo NODE_ENV=development /usr/bin/node --debug /var/nodes/fc-dev/fc-server.js
end script
这里是/etc/init/fc-prod.conf文件:
# Saves log to /var/log/upstart/fc-dev.log
console log
# Starts only after drives are mounted.
start on started mountall
stop on shutdown
# Automatically Respawn. But fail permanently if it respawns 10 times in 5 seconds:
respawn
respawn limit 10 5
script
exec sudo NODE_ENV=production /usr/bin/node /var/nodes/fc-prod/fc-server.js
end script
我通过sudo start fc-dev成功启动了开发项目,但是当我输入sudo start fc-prod时,出现以下错误:
module.js:340
throw err;
^
'rror: Cannot find module '/var/nodes/fc-prod/fc-server.js
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
另一方面,输入sudo NODE_ENV=production /usr/bin/node /var/nodes/fc-prod/fc-server.js 允许我启动生产节点。
我做错了什么?
【问题讨论】:
标签: node.js ubuntu amazon-ec2