linux - 如何为 node.js 应用程序正确设置 upstart

标签 linux node.js ubuntu amazon-ec2 upstart

我正在使用带有 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 开始:

enter image description here

从 nodemon bin/www 开始:

enter image description here

在我的日志中,当我尝试访问主页“/”时,我看到以下内容:

^[[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/

相关文章:

node.js - 将 OpenCV Mat 渲染到 Html5 Canvas 的最佳方法?

git - aws ec2安装git服务器

flash - 使用 AS3 在 Flash 中模拟 Ubuntu 窗口效果

linux - 启用 VNC 的 Amazon EC2 镜像?

linux - 如何在shell脚本中扩展相对路径

node.js - 如何获取客户ID?

asp.net-core - 502 Bad Gateway 在 Ubuntu 20.04 上的 NGINX 上运行 ASP .NET Core 5 站点

linux - xentop VBD_RD & VBD_WR 输出

linux - Bash ls(全局样式)

javascript - 有没有办法让我发送 args[1] args[2] 次?