Ruby on rails 狮子山下的乘客没有装载任何东西
今天早上我升级到了ML,看起来进展得相当顺利,但与乘客有关的一切都消失了。我已经把它剥离到零地,卸载了除RVM以外的所有东西,按照ML兼容性的建议,转到了1.9.3,重新安装了Passenger,结果什么都没有 直接设置站点或使用PassengerPrefPane设置站点最终导致站点没有响应。我看到的日志中没有任何负面信息,我的Rails设置正在使用Rails s,Apache肯定正在运行。如果有人能给我指点什么,我现在一片空白 编辑:现在更进一步了。乘客肯定是带着vhost沿着以下线路运行:Ruby on rails 狮子山下的乘客没有装载任何东西,ruby-on-rails,passenger,osx-mountain-lion,Ruby On Rails,Passenger,Osx Mountain Lion,今天早上我升级到了ML,看起来进展得相当顺利,但与乘客有关的一切都消失了。我已经把它剥离到零地,卸载了除RVM以外的所有东西,按照ML兼容性的建议,转到了1.9.3,重新安装了Passenger,结果什么都没有 直接设置站点或使用PassengerPrefPane设置站点最终导致站点没有响应。我看到的日志中没有任何负面信息,我的Rails设置正在使用Rails s,Apache肯定正在运行。如果有人能给我指点什么,我现在一片空白 编辑:现在更进一步了。乘客肯定是带着vhost沿着以下线路运行:
<VirtualHost *:80>
ServerName nicholassmith.local
DocumentRoot /Users/nicholas/Development/Websites/DWC/public
<Directory /Users/nicholas/Development/Websites/DWC/public>
Allow from all
Options -Multiviews
</Directory>
RailsEnv development
</VirtualHost>
ServerName nicholassmith.local
DocumentRoot/Users/nicholas/Development/Websites/DWC/public
通融
选项-多视图
RailsEnv开发
这在我的httpd.conf中。但是,它在哪里显示服务器名?它完全忽略了这一点,什么也不返回。但是,如果我去localhost,我是在做生意,所以我在这个阶段完全感到困惑。当我安装Mountain Lion时,它用一个新的httpd.conf重写了我的httpd.conf;您需要将乘客窗格vhost部分重新添加到底部。我的看起来像:
<IfModule passenger_module>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName _default_
</VirtualHost>
Include /private/etc/apache2/passenger_pane_vhosts/*.conf
</IfModule>
我刚刚修复了这个问题,所以对于其他有问题的人: 1) 深入httpd.conf并查找httpd-vhosts.conf 2) 取消注释 3) 投递你的电子邮件
重新启动apache。完成了 Mountain Lion清除了我的apache httpd.conf文件中的LoadModule语句。通过从我备份的文件中恢复它们,然后包括我的vhosts文件,我可以重新启动并离开:
/etc/apache2/extra/httpd.conf:
# my mods for passenger
LoadModule passenger_module /Users/lukeskywalker/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /Users/lukeskywalker/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11
PassengerRuby /Users/lukeskywalker/.rvm/wrappers/ruby-1.9.2-p290/ruby
取消对文件下方vhosts include语句的注释:
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
我在httpd-vhosts.conf文件中的相关设置如下所示:
<VirtualHost *:80>
ServerName lightsaber.local
DocumentRoot "/Rails/lightsaber/public"
<Directory "/Rails/lightsaber/public">
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
RailsEnv development
</Directory>
</VirtualHost>
ServerName lightsaber.local
DocumentRoot“/Rails/lightsaber/public”
允许超越所有
选项-多视图
命令允许,拒绝
通融
RailsEnv开发
您是否更改了Apache2配置文件中的Passenger和Ruby版本?它应该有点像默认的apache2配置,然后从那里开始。尝试恢复我以前的httpd.conf,尝试全新的fresh配置,我尝试手动添加vhost。两个都没有骰子。你的错误日志中有什么奇怪的地方吗?当你重新启动Apache时,它有什么抱怨吗?它会抛出对CRL的引用缺失,但不在它正在查找的Rails目录中,其他静态站点工作,而不是在我访问站点本地URL时。我不熟悉CRL是什么,所以我不完全确定问题出在哪里。您运行了sudo passenger-install-apache2-module
,并在更新时更新了乘客配置本身,我猜?是的,将其全部取出并重试,但仍然一无所获。Apache似乎发现乘客舱很好,但没有通过管道。
<VirtualHost *:80>
ServerName lightsaber.local
DocumentRoot "/Rails/lightsaber/public"
<Directory "/Rails/lightsaber/public">
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
RailsEnv development
</Directory>
</VirtualHost>