读书人

调度rails 项目 nginx(apache)+pass

发布时间: 2012-07-28 12:25:13 作者: rapoo

部署rails 项目 nginx(apache)+passenger
一 、apache+passenger
1. 安装好 ror 环境

    bundle exec rake RAILS_ENV=production db:create    bundle exec rake RAILS_ENV=production db:migrate

2. 安装apache
    sudo apt-get install apache2 apache2-mpm-prefork apache2-prefork-dev

3.安装 passenger
   sudo gem install passenger   sudo passenger-install-apache2-module

4. 按照提示 编辑 httpd.conf ,并添加如下配置
sudo gedit /etc/apache2/httpd.conf 

 LoadModule passenger_module /home/dong/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.9/ext/apache2/mod_passenger.so   PassengerRoot /home/d/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.9   PassengerRuby /home/d  /.rvm/wrappers/ruby-1.9.2-p290/ruby <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>

注释要去掉,才能重启成功
5 .本机而不是服务器调试,记得修改host文件 添加domain
 sudo gedit /etc/hosts  127.0.0.1 www.yourhost.com

6.
sudo /etc/init.d/apache2 restart   brower url type:   http://www.yourhost.com

二 、nginx + passenger 部署rails
1. 安装passenger
 gem install passenger  passenger-install-nginx-module

第二个安装的是nginx,安装nginx的时候 可以用prefix=‘’指定安装的目录。
装好后,进入nginx目录/sbin/nginx 启动nginx。打开浏览器 输入 http://127.0.0.1 看到提示 说明安装成功
2.配置
在nginx/conf/nginx.conf 里修改
 http {      ...      passenger_root /home/dong/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.9;      passenger_ruby /home/dong/.rvm/wrappers/ruby-1.9.2-p290/ruby;      ...   }  server {      listen 80;      server_name www.yourhost.com;      root /somewhere/public;   # <--- be sure to point to 'public'!      passenger_enabled on;     #rails_env development; nginx的passenger模块默认是生产模式,如果是在本机进行开发   }

3.重启 nginx。输入 http://local 可以访问app1
4.写nginx脚本,启动和nginx的命令比较复杂,写个脚本来简化一下,
vi ~/.bashrc  alias sn='sudo /usr/local/nginx/sbin/nginx'   alias kn='sudo kill `cat /usr/local/nginx/logs/nginx.pid `'   alias rn='kn; sn'

5.更多nginx
nginx 中文维基: http://blog.chinaunix.net/link.php?url=http://wiki.codemongers.com%2FNginxChs
Ruby on Rails部署方案: http://www.cnblogs.com/ToDoToTry/archive/2011/07/27/2118805.html

读书人网 >网络基础

热点推荐