到目前为止,我一直在为我的应用程序使用独立乘客(基于 nginx)。一切正常。
由于我需要能够支持多个站点,因此我决定转向基于 nginx 的解决方案。
我按照常规指南,使用乘客 nginx 安装,一切运行正常。
我已将 nginx 配置如下:
server {
listen 80;
server_name www.mydomain.com;
root /www/myproject/public;
passenger_enabled on;
}
服务器按预期启动,但每次访问 www.mydomain.com 时,服务器都会返回 500。
一切似乎都按预期开始,因为我曾经忘记启动 mongo 守护进程,结果出现乘客错误,显示无法连接到 mongo 服务器。所以至少它正在运行某些东西。一旦我打开守护进程,它就会再次抛出 500。
我检查了日志,我的 中没有任何内容logs/production.log
。Nginx 中没有任何内容,error.log
并且access.log
有以下内容:
xxx.xxx.xxx.xxx - - [22/Feb/2012:11:14:51 -0500] "GET / HTTP/1.1" 500 643 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.9) Gecko/20110412 CentOS/3.6.9-2.el6.centos Firefox/3.6.9"
我的 mongo 日志正在吐出一些常见的东西:
Wed Feb 22 11:14:44 [initandlisten] connection accepted from 127.0.0.1:47013 #1
Wed Feb 22 11:14:44 [conn1] end connection 127.0.0.1:47013
Wed Feb 22 11:14:44 [initandlisten] connection accepted from 127.0.0.1:47015 #2
Wed Feb 22 11:14:44 [conn2] end connection 127.0.0.1:47015
Wed Feb 22 11:14:51 [initandlisten] connection accepted from 127.0.0.1:47017 #3
Wed Feb 22 11:14:51 [initandlisten] connection accepted from 127.0.0.1:47019 #4
Wed Feb 22 11:14:51 [conn4] end connection 127.0.0.1:47019
Wed Feb 22 11:14:51 [initandlisten] connection accepted from 127.0.0.1:47021 #5
Wed Feb 22 11:14:51 [conn5] end connection 127.0.0.1:47021
Wed Feb 22 11:14:51 [initandlisten] connection accepted from 127.0.0.1:47023 #6
我真的不擅长系统管理员(你可能已经看出来)所以欢迎提出任何建议。如果我遗漏了任何信息,请告诉我。
非常感谢,
伊恩
编辑
感谢 robotrobert 的建议,问题已修复 - 我尝试使用 rails 服务器,发现存在捆绑器问题。修复后,它仍然无法正常工作。但是,将环境设置为生产环境可以解决这个问题。
谢谢!
答案1
对我来说,似乎 rails 没有针对该请求执行/呈现任何操作。
首先尝试将以下内容添加到服务器范围:
rails_env 生产;
如果它不起作用,你可以尝试使用默认的 webrick 服务器运行你的应用程序,并检查它在什么地方呈现<yourdomain>:3000