2010-05-21 53 views
4

我的某个网络服务器出现问题。 我会尝试尽可能地将其解释清楚,但我并未100%知道服务器的所有配置。与乘客搭配的导轨只能在开发中运行

旁边还有运行海誓山盟(blcc_preprod和blcc_prod)2点,所以在“站点启用,”阿帕奇这个我有一个文件“咨委会”是这样的:

<VirtualHost *:80> 
    DocumentRoot /opt/dn/blcc/www 
    RailsBaseURI /blcc_preprod 
    RailsBaseURI /blcc_prod 
    RailsEnv production 
</VirtualHost> 

我的配置/环境/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 

奇怪的是,从几个月前我的生产日志的日期,所以事情是真的错了。

有人可以帮忙吗?如果您需要更多信息,请询问。

谢谢!

编辑: error.log中来自Apache的显示了事件的正常输出到服务器(此处的情况是,通过框架的网络服务器塞在另一个业务(JAVA)服务器) access.log里是空的

从other_vhosts_access.log

内容后,我们冲浪IP/blcc_preprod如下

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

你有没有闯过这一个?我有同样的问题。 http://stackoverflow.com/questions/9499937/rails-app-on-passenger-works-with-dev-flag-fails-without/9501959#comment12033491_9501959 – 2012-02-29 17:08:26

回答

0

我不认为这是可能设置在一个虚拟主机两个应用程序在不同的Rails的环境中工作 - 至少不会像这个。

客运文件说,为如下设置RailsEnv:

“在每一个地方,它可能是指定最多一次默认值为生产。”

http://www.modrails.com/documentation/Users%20guide.html#rails_env

因此,有没有办法让一个虚拟主机指令指定的多个RailsEnv。

这可能是您看到只有一个应用程序正在运行的原因(尽管我不确定它为什么是开发)。

我建议你在单独的虚拟主机中分开生产/开发应用程序,或者你可以使用块。可能是这样的:

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

嗯,也许我是不明确的,因为我想。 这两个应用程序在开发过程中完美地运行。所以,当我添加'RailsEnv'开发''它完美的作品。 (当我冲浪到ip/blcc_preprod和ip/blcc_prod,都可以访问) 但是当我想切换到生产既不能工作 – Ignace 2010-05-21 11:21:17

+0

啊,完全不同的问题。 :)你有没有从服务器得到任何回应?你说Rails应用程序生产日志(log/production.log)不会记录任何错误;你检查了Apache日志(error_log和access_log)吗? – 2010-05-21 11:38:02

+0

是的,我做了,acces_log是空的,error_log产生了一些看起来像一个普通的启动,但没有别的。 我们在这里工作的远程业务服务器通过框架插入。 ,他注册的一切,错误日志显示使用池,然后仅此而已...... 很奇怪...... – Ignace 2010-05-21 14:47:33

1

错误是指内部错误。

所以:

tail -f /var/log/apache2/error_log 

并尝试访问该网站。

由于Passenger无法初始化Rails应用程序,所以它认为错误是您的应用程序之外的错误。最有可能的一个模块丢失或某些东西被初始化错误。

1

使用RoR 3.x?
尝试

RackEnv development 

RackEnv production