将Passenger和Ruby Enterprise Edition更新到今天的最新版本,我现在看到的是目录列表而不是我的Rails应用程序。这是我的Apache配置的Passenger部分:
#LoadModule passenger_module /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/passenger-2.1.3/ext/apache2/mod_passenger.so
#PassengerRoot /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/passenger-2.1.3
#PassengerRuby /opt/ruby-enterprise-1.8.6-20090201/bin/ruby
LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /opt/ruby-enterprise-1.8.7-2010.01/bin/ruby
RailsEnv production
RackEnv production
PassengerMaxPoolSize 30
PassengerPoolIdleTime 600
PassengerMaxInstancesPerApp 10
PassengerUseGlobalQueue on
这个配置肯定是被加载的,vhost肯定是指向应用程序的公共目录。从Rails控制台运行时,应用程序本身工作正常。
您将在上面的配置中看到旧的乘客设置被注释掉了。如果我注释掉新的乘客线路并取消注释旧的乘客线路(即切换到较旧版本的乘客),该应用程序再次正常工作。
尝试重新安装乘客/ REE,没有区别。 Apache错误日志或Rails日志中没有相关条目。
任何帮助表示赞赏!
答案 0 :(得分:1)
我能够使用以下方法解决这个问题:
PassengerResolveSymlinksInDocumentRoot
默认情况下,Passenger似乎不再处理作为其应用程序的符号链接的公共目录。启用此选项可解决所有问题。
答案 1 :(得分:1)
我意识到我的/ etc / hosts指向我的应用程序的公共URL为127.0.0.1,用于我在twitter中的测试回调。
它将继续显示空白文件列表。 从/ etc / hosts中删除了条目,一切都恢复正常