Ruby on rails 只有乘客的铁路正在开发中

Ruby on rails 只有乘客的铁路正在开发中,ruby-on-rails,apache2,passenger,Ruby On Rails,Apache2,Passenger,我在我们的一个Web服务器上遇到问题。 我将尽可能清楚地解释它,但我并不是100%了解服务器的所有配置 有两个站点相邻运行(blcc_prepod和blcc_prod),因此在apache this的“sites enabled”中,我有一个文件“blcc”,如下所示: <VirtualHost *:80> DocumentRoot /opt/dn/blcc/www RailsBaseURI /blcc_preprod RailsBaseURI /blcc_p

我在我们的一个Web服务器上遇到问题。 我将尽可能清楚地解释它,但我并不是100%了解服务器的所有配置

有两个站点相邻运行(blcc_prepod和blcc_prod),因此在apache this的“sites enabled”中,我有一个文件“blcc”,如下所示:

<VirtualHost *:80>
    DocumentRoot /opt/dn/blcc/www
    RailsBaseURI /blcc_preprod
    RailsBaseURI /blcc_prod
    RailsEnv production
</VirtualHost>
<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>
奇怪的是,我的生产日志是几个月前写的,所以有些地方确实出了问题

有人能帮忙吗?如果你需要更多的信息,尽管问

谢谢

编辑: apache中的Error.log向服务器显示事件的正常输出(这里的情况是Web服务器通过框架插入到另一个业务(java)服务器) Access.log为空

在我们浏览ip/blcc\U Prepod后,从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)"

我认为不可能在一个虚拟主机上设置两个应用程序,在不同的Rails环境中工作——至少不可能这样

乘客文件中说明了RailsEnv设置的以下内容:

在每个位置,最多只能指定一次。默认值为生产

()

因此,一个VirtualHost指令无法指定多个RailsEnv

这可能就是为什么你只看到一个应用程序在运行的原因(尽管我不知道为什么它在开发)

我建议您在单独的VirtualHost中分离生产/开发应用程序,或者您可以使用block。也许是这样的:

<VirtualHost *:80>
    DocumentRoot /opt/dn/blcc/www
    RailsBaseURI /blcc_preprod
    RailsBaseURI /blcc_prod
    RailsEnv production
</VirtualHost>
<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>

DocumentRoot/opt/dn/blcc/www
RailsBaseURI/blcc_Prepod
RailsBaseURI/blcc_产品
RailsEnv开发
RailsEnv生产

错误是指内部错误

因此:

并尝试访问该站点

错误会出现在那里,因为Passenger无法初始化Rails应用程序,所以它认为错误在应用程序之外。很可能是模块丢失或初始化错误。

使用RoR 3.x?
试一试


嗯,也许我没有我想的那么清楚。这两个应用程序在开发过程中完美地并排运行。因此,当我添加“RailsEnv”development“时,它工作得非常完美。(当我浏览ip/blcc_prepod和ip/blcc_prod时,两者都是可访问的)但当我想切换到生产工作时,这两个问题都不是工作啊,完全不同的问题:)您从服务器得到任何响应吗?您说过Rails应用程序生产日志(log/production.log)不会记录任何错误;你检查过Apache日志(错误日志和访问日志)吗?是的,我检查过,访问日志是空的,错误日志生成了一些看起来像正常启动的东西,但没有其他什么。我们在这里使用rails通过框架插入的远程业务服务器。错误日志显示他注册了所有东西,使用了一个池,然后什么都没有。。。非常奇怪…Rails应用程序日志目录中没有任何内容?我不完全了解您的设置类型,但我猜这不是Ruby/Rails代码问题——更有可能是“Rails通过框架插入的远程业务服务器”出现问题。也许你可以试着把你的问题发布在(服务器相关问题的堆栈溢出站点)上。你有没有跳过这个问题?我也有同样的问题。
RackEnv development  
RackEnv production