浅析Ruby on Rails部署方案
http://blog.csdn.net/jrckkyy/article/details/2501136
http://binku.iteye.com/blog/483687
apache+passenger部署rails应用
(1)安装apache:sudoapt-getinstallapache2
(2)安装passenger
$sudogeminstallpassenger
$passenger-install-apache2-module
安装到最後时,会出现如下的3条语句:
LoadModulepassenger_module/usr/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot/usr/lib/ruby/gems/1.8/gems/passenger-2.2.2
PassengerRuby/usr/bin/ruby1.8
把三条语句复制到/etc/apache2/apache2.conf的最后
(3)在/etc/apache2/sites-available下面创建available的应用配置
$sudotouch/etc/apache2/sites-available/rails-app
打开rails-app,加入以下语句:
<VirtualHost*:80>
#RailsEnvdevelopment加上这句的话,以development的模式部署
ServerNamebinku.com
DocumentRoot/home/binku/programme/rails-app/public
</VirtualHost>
(4)创建软链接,把available的应用程序配置链接到/etc/apache2/sites-enabled下面,apache将读取该文件夹下的配置.
$sudoln-s/etc/apache2/sites-available/rails-app/etc/apache2/sites-enabled/rails-app
(5)如果要设置虚拟主机的ip可以修改/etc/hosts,加上
127.0.0.1localhost
172.17.21.119binku.com
(6)如果以production模式部署的话,要记得创建production的数据库
$rakedb:createRAILS_ENV=production
$rakedb:migrationRAILS_ENV=production
(7)重启apache:sudo/etc/init.d/apache2restart,现在就可以在浏览器访问rails应用了.
重启apache前可以打开error日志看看启动有没有出错:tail-f/var/log/apache2/error.log
(8)修改完程序后,如果要重新部署可以输入:
touchrails-app/tmp/restart.txt