这里有很多移动部件,我对它们的熟悉程度各不相同,所以我希望另一双眼睛能帮助我发现为什么在运行 Phusion Passenger 的 Nginx 上部署我的 Rails 应用程序后我会得到 404。
我的应用程序的 /public 目录当前位于:
$pwd
>> /root/public_html/photobook/public
我在 nginx.conf 中的服务器设置:
server {
listen 80;
server_name pb.mysite.com;
root /root/public_html/photobook/public; # <--- be sure to point to 'public'!
passenger_enabled on;
}
但是重启nginx后:
sudo /opt/nginx/sbin/nginx
转到我的浏览器会显示 Nginx 提供的 404 页面。
处理子域的规则是否与我不知道的不同?或者这完全是另一回事?
另外,由于我是 Nginx 上的Passenger 新手,我应该找到一个日志文件,它可能会给我关于 404 的更多有用反馈,比如它正在查找哪个页面?
谢谢!
编辑
首先,感谢您对 /var/log 的建议。
我不知道;这对以后会有很大的帮助。
我不确定我的系统日志(我有两个看起来是最新的,然后看起来像 .gz 备份)正在记录任何相关的内容,但是:
Jun 23 01:25:01 myusername /USR/SBIN/CRON[11379]:
(root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 23 01:49:01 myusername -- MARK --
就是这样,每小时的 cron 任务和任何东西 - MARK - 都是为了,一直回来。有任何想法吗?
在 /var/log 下检查。除非您有 nginx 或乘客日志,否则一切都将在 syslog 下。
您的下一步将取决于您在那里看到的内容。如果解决方案不是很明显,请在 nginx 启动时发布您的日志,以便我们更好地了解下一步该去哪里。
编辑:
由于 /opt 下有 nginx,请查看 /opt/nginx/logs/error.log。
此外,您需要将您的应用程序从 /root 中删除,因为如果您以 root 身份运行 nginx,它可能会导致 nginx 错误读取路径。
最后,考虑创建一个 nginx 用户来运行 nginx 以限制您接触坏人。