【发布时间】:2015-04-08 01:51:51
【问题描述】:
我正在使用带有 ubuntu 的亚马逊 ec2 实例来托管我的 node.js 应用程序,我已经进行了所有配置,并且在我输入时运行良好:
nodemon ./bin/www
./bin/www 是创建服务器的文件。
现在,我正在尝试设置暴发户,我按照教程进行操作,这是我的配置文件:
路径:
/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
从暴发户开始:
从 nodemon bin/www 开始:
在我的日志中,当我尝试访问主页“/”时看到以下内容:
^[[0mGET / ^[[33m404 ^[[0m12.036 ms - 13^[[0m
【问题讨论】:
-
Upstart 正在正确启动进程,并且 express 显然正在运行并提供 HTTP,因为这是默认的 express 404 Not Found 消息。您是否真的定义了您的路线,包括像
app.get("/", ...这样的主页? -
当然@PeterLyons,如果我从 nodemon 开始 ./bin/www 可以正常工作,页面将正常呈现。
-
查看我的更新问题@PeterLyons
-
您需要发布您的快递代码。那里有些奇怪,但我不会为您远程盲调试它。您的“找不到模块 /chdir”听起来像是您的应用中有一些奇怪的 javascript。
标签: linux node.js ubuntu amazon-ec2 upstart