ama*_*acy 2 ruby-on-rails vps passenger ubuntu-12.04
首先,我有一个功能齐全的Apache2服务器(在Ubuntu 12.04 VPS上),有多个工作虚拟主机(但这是我第一次尝试部署Rails站点).此外,我正在尝试启动的Rails站点在我的本地WEBRick服务器上完全正常运行.
我已经引用了各种在线说明,可以让Apache,Ruby,Rails和Passenger一起玩得很好,包括:
passenger-install-apache2-module总结一下,到目前为止,我已经:
ruby -v在站点根目录返回1.9.3),RVM,Ruby Gems,Rails(rails -v在app文件夹中返回3.2.8,我可以在app文件夹中启动rails server)和Passenger(包括所有依赖项)按照指示passenger-install-apache2-module,我在底部添加了以下行/etc/apache2/apache2.conf:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger 3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby1.8
Run Code Online (Sandbox Code Playgroud)创建并启用(在其中列出/etc/apache2/sites-enabled/)/etc/apache2/sites-available/foo.com包含以下内容的虚拟主机:
<VirtualHost *:80>
ServerName foo.com
DocumentRoot /home/user/public/foo.com/public
<Directory /home/user/public/foo.com/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)将我的Rails应用程序上传到 /home/user/public/foo.com/
做了bundle install在/home/user/public/foo.com/
在我的本地OSX机器上,我已经添加了xxx.xxx.xxx.xxx foo.com[VPS IP] /etc/hosts.
重启Apache
但是当我在浏览器中导航到foo.com时,我只看到了一个列表/home/user/public/foo.com/public.此外,Apache中没有最近的条目error.log.但是,无论何时restart我得到Apache:
* Restarting web server apache2
[Fri Oct 26 00:04:12 2012] [warn] module passenger_module is already loaded, skipping
... waiting [Fri Oct 26 00:04:13 2012] [warn] module passenger_module is already loaded, skipping
...done.
Run Code Online (Sandbox Code Playgroud)
我希望我忽略了一些非常愚蠢的事情.任何帮助都会弄清楚那会是什么,非常感谢.谢谢!
小智 6
如果您正在使用apache2.2,则不应在apache2.conf中包含以下内容
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger 3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby1.8
Run Code Online (Sandbox Code Playgroud)
相反,您应该创建2个文件/etc/apache2/mods-available:
passenger.load with:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger3.0.17/ext/apache2/mod_passenger.so
Run Code Online (Sandbox Code Playgroud)
passenger.conf:
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby1.8
Run Code Online (Sandbox Code Playgroud)
最后你运行:
a2enmod passenger
Run Code Online (Sandbox Code Playgroud)
它已经完成了.顺便说一句,当你使它工作时,你可能会考虑使用更新版本的ruby(1.9.3 ...左右).最好的方法是使用RVM.
| 归档时间: |
|
| 查看次数: |
3750 次 |
| 最近记录: |