我的某个网络服务器出了问题。 我会尝试尽可能清楚地解释它,但我不是100%了解服务器的所有配置。
有两个站点在彼此旁边运行(blcc_preprod和blcc_prod),所以在apache的'sites-enabled'中我有一个像'blcc'这样的文件:
<VirtualHost *:80>
DocumentRoot /opt/dn/blcc/www
RailsBaseURI /blcc_preprod
RailsBaseURI /blcc_prod
RailsEnv production
</VirtualHost>
我的config / environments / production.log(来自两者)看起来像这样(我删除了所有注释,因为它与布局混淆)
config.cache_classes = true
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.action_view.cache_template_loading = true
config.log_level = :debug
奇怪的是,我的生产日志可以追溯到几个月前,所以有些事情确实是错误的。
有人可以帮忙吗?如果您需要更多信息,请询问。
谢谢!
编辑: 来自apache的Error.log显示事件到服务器的正常输出(这里的情况是webserver通过框架插入到另一个业务(java)服务器) Access.log为空
我们浏览ip / blcc_preprod后来自other_vhosts_access.log的内容如下
blcc.localdomain:80 192.168.21.194 - - [25/May/2010:08:33:04 +0200] "GET/ blcc_preprod
HTTP/1.1" 500 594 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
CLR 1.1.4322; .NET CLR 2.0.50727)"
答案 0 :(得分:1)
错误是指内部错误。
所以:
tail -f /var/log/apache2/error_log
尝试访问该网站。
错误发生在那里,因为Passenger无法初始化Rails应用程序,所以它认为错误是你的应用程序之外的东西。很可能一个模块丢失或者某些内容被初始化错误。
答案 1 :(得分:1)
使用RoR 3.x?
试试
RackEnv development
或
RackEnv production
答案 2 :(得分:0)
我认为在一个在不同Rails环境中工作的虚拟主机中设置两个应用程序是不可能的 - 至少不是这样的。
乘客文档说RailsEnv设置如下:
“在每个地方,最多可以指定一次。默认值为生产。”
(http://www.modrails.com/documentation/Users%20guide.html#rails_env)
因此,一个VirtualHost指令无法指定多个RailsEnv。
这可能就是为什么你只看到一个应用程序运行的原因(虽然,我不确定它为什么会开发)。
我建议你在单独的VirtualHosts中分离生产/开发应用程序,或者你可以使用block。也许是这样的:
<VirtualHost *:80>
DocumentRoot /opt/dn/blcc/www
RailsBaseURI /blcc_preprod
RailsBaseURI /blcc_prod
<Location /blcc_preprod>
RailsEnv development
</Location>
<Location /blcc_prod>
RailsEnv production
</Location>
</VirtualHost>