部署rails 项目 nginx(apache)+passenger
一 、apache+passenger
1. 安装好 ror 环境
bundle exec rake RAILS_ENV=production db:create bundle exec rake RAILS_ENV=production db:migrate
sudo apt-get install apache2 apache2-mpm-prefork apache2-prefork-dev
sudo gem install passenger sudo passenger-install-apache2-module
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>
sudo gedit /etc/hosts 127.0.0.1 www.yourhost.com
sudo /etc/init.d/apache2 restart brower url type: http://www.yourhost.com
gem install passenger passenger-install-nginx-module
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模块默认是生产模式,如果是在本机进行开发 }
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'