Debian Rails3 Apache2 Passenger 部署
2013-12-06 14:15
363 查看
1. 编译安装apache2
2. 安装passenger
sudo gem install passenger
sudo passenger-install-apache2-module
根据提示安装缺少的依赖包(不同机器可能不同,看提示)
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install apache2-mpm-prefork
sudo apt-get install apache2-prefork-dev
sudo apt-get install libapr1-dev
sudo apt-get install libaprutil1-dev
再次运行 sudo passenger-install-apache2-module
依赖都通过的话 就会开始编译一些文件了,最后会提示
把以下内容加到配置文件里去(可以用sudo apache2ctl -V | grep SERVER_CONFIG_FILE命令查看配置文件位置)
如:-D SERVER_CONFIG_FILE="apache2.conf" 在/etc/apache2目录下
apache2.conf中有这样一段
# Include all the user configurations:
Include httpd.conf
说明
apache2.conf 会自动加载同目录下的httpd.conf文件 所以把以下内容加到httpd.conf中即可
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby
3.配置发布在 apache2 配置文件中加入
<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
<Directory /somewhere/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>
本机测试的话,修改/etc/hosts文件,加入
127.0.0.1 www.yourhost.com
重启apache2服务 sudo apache2ctl restart 即可访问www.yourhost.com
4.重启应用而不重启apache
在项目目录下
$ touch tmp/restart.txt
5. RailsEnv development
如果要在开发环境下使用passenger ,在配置文件中加入 RailsEnv development
每次请求过后,都会reload应用
If you set RailsEnv development in your Apache configuration,then Rails will automatically reload your application code after each request.
7.完整例子 添加的部分 httpd.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby
<VirtualHost *:80>
ServerName new.my.com
DocumentRoot /home/rex/ror/projects/newapp/public
RailsEnv development
<Directory /home/rex/ror/projects/newapp/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
转自:http://blog.csdn.net/clskkk2222/article/details/6793810
2. 安装passenger
sudo gem install passenger
sudo passenger-install-apache2-module
根据提示安装缺少的依赖包(不同机器可能不同,看提示)
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install apache2-mpm-prefork
sudo apt-get install apache2-prefork-dev
sudo apt-get install libapr1-dev
sudo apt-get install libaprutil1-dev
再次运行 sudo passenger-install-apache2-module
依赖都通过的话 就会开始编译一些文件了,最后会提示
把以下内容加到配置文件里去(可以用sudo apache2ctl -V | grep SERVER_CONFIG_FILE命令查看配置文件位置)
如:-D SERVER_CONFIG_FILE="apache2.conf" 在/etc/apache2目录下
apache2.conf中有这样一段
# Include all the user configurations:
Include httpd.conf
说明
apache2.conf 会自动加载同目录下的httpd.conf文件 所以把以下内容加到httpd.conf中即可
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby
3.配置发布在 apache2 配置文件中加入
<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
<Directory /somewhere/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>
本机测试的话,修改/etc/hosts文件,加入
127.0.0.1 www.yourhost.com
重启apache2服务 sudo apache2ctl restart 即可访问www.yourhost.com
4.重启应用而不重启apache
在项目目录下
$ touch tmp/restart.txt
5. RailsEnv development
如果要在开发环境下使用passenger ,在配置文件中加入 RailsEnv development
每次请求过后,都会reload应用
If you set RailsEnv development in your Apache configuration,then Rails will automatically reload your application code after each request.
7.完整例子 添加的部分 httpd.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby
<VirtualHost *:80>
ServerName new.my.com
DocumentRoot /home/rex/ror/projects/newapp/public
RailsEnv development
<Directory /home/rex/ror/projects/newapp/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
转自:http://blog.csdn.net/clskkk2222/article/details/6793810
相关文章推荐
- Passenger/Nginx/Debian快速部署Rails
- Passenger/Nginx/Debian快速部署Rails
- 使用nginx+passenger将本地Rails项目部署到Centos系统
- apache服务器安装以及使用passenger插件部署rails应用
- 使用passenger+nginx在Ubuntu14.04服务器上部署rails应用填坑记
- ruby on rails 项目部署(Nginx + Passenger)
- apache+passenger 实现rails应用的部署
- 使用passenger在Centos7部署Puma+Nginx+Ruby on Rails
- Passenger + Nginx 部署Rails
- Passenger/Nginx/Ubuntu快速部署Rails
- 学习札记――nginx + passenger 部署多个rails的app时,出现自动跳转到80端口的问题
- 部署/配置 Rails+Nginx+Passenger
- rails 生产环境部署练习(nginx + passenger + capistrano)
- Rails部署云环境配置(Passenger+Apache)
- apache服务器安装以及使用passenger插件部署rails应用,基于ubuntu 12.04 LTS
- apache服务器安装以及使用passenger插件部署rails应用,基于ubuntu 12.04 LTS
- rails passenger nginx部署ubantu虚拟机
- ruby on rails 项目部署(Nginx + Passenger)
- apache+passenger部署rails项目
- 学习札记――在ubuntu下用nginx+passenger 进行rails部署