我正在使用带有 ubuntu 的 amazon ec2 实例来托管我的 node.js 应用程序,我已经进行了所有配置,并且在我输入时运行良好:
nodemon ./bin/www
./bin/www 是创建服务器的文件。
现在,我正在尝试设置 upstart,我按照教程进行操作,这是我的配置文件:
路径:
/etc/init/photogrid.conf:
内部:
description "Photogrid"
start on started mountall
stop on shutdown
respawn
respawn limit 99 5
env NODE_ENV=production
exec node /home/ubuntu/photogrid/bin/www >> /var/log/photogrid.log 2>&1
但是当我尝试访问该站点时,显示:
Cannot GET /
我按照一个教程,我的配置文件的唯一区别是这部分:
原文:
exec node /home/ubuntu/photogrid/app.js >> /var/log/photogrid.log 2>&1
我的:
exec node /home/ubuntu/photogrid/bin/www >> /var/log/photogrid.log 2>&1
从 Upstart 开始:
从 nodemon bin/www 开始:
在我的日志中,当我尝试访问主页“/”时,我看到以下内容:
^[[0mGET / ^[[33m404 ^[[0m12.036 ms - 13^[[0m
最佳答案
看来您需要在启动 exec 之前切换到正确的目录。也许这会解决您的错误:
description "Photogrid"
start on filesystem and started networking
stop on shutdown
respawn
respawn limit 99 5
env NODE_ENV=production
script
export HOME="/home/ubuntu/photogrid"
cd $HOME
exec node /home/ubuntu/photogrid/bin/www >> /var/log/photogrid.log 2>&1
end script
关于linux - 如何为 node.js 应用程序正确设置 upstart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28390883/