Nginx 404使用Phusion Passenger部署Ruby on Rails应用程序

这里有很多移动的部分,我对这个程序有不同程度的熟悉,所以我希望另一组眼睛能够帮助我发现为什么我在运行Phusion Passenger的Nginx上部署Rails应用程序后得到404。

我的应用程序/公共目录目前驻留在:

$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,所以有一个日志文件,我应该find这个日志文件,可以给我更多有用的404反馈,比如它正在查找什么页面?

谢谢!

编辑

首先,感谢关于/ var / log的build议。

我不知道; 这将是一个很大的帮助。

我不确定我的系统日志(我有两个看起来是当前的,然后看起来像.gz备份回去)logging任何相关的,但是:

 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 -- 

就是这样,小时卡伦的任务和任何 – 马克 – 是一直回来的。 有任何想法吗?

在/ var / log下查看。 除非你有一个nginx或乘客日志,否则一切都将在syslog下。

你的下一步将取决于你在那里看到的。 如果解决scheme不太明显,那么将日志作为nginx发布,以便我们可以更好地掌握下一步的发展方向。

编辑:

由于/ opt下有nginx,请查看/opt/nginx/logs/error.log。

此外,如果以root用户身份运行nginx,则会导致nginx错误地读取path,因此您需要将应用从/ root中取出。

最后,考虑创build一个nginx用户来运行nginx来限制你的暴露。