nginx + unicorn 部署rails项目
2014-07-24 00:47
423 查看
nginx + unicorn 部署 rails 项目,顾名思义要先安装nginx和unicorn
一 安装
安装nginx: sudo apt-get install nginx
安装unicorn: gem install unicorn
二 配置
1 在你项目的config文件夹下添加一个unicorn.rb文件,添加代码(样列:http://unicorn.bogomips.org/examples/unicorn.conf.rb)
我的如下:
2 配置nginx
sudo apt-get install nginx默认安装在/etc/nginx目前下
在/etc/nginx/conf.d目录下创建文件:project_name.conf 添加代码(样例: http://unicorn.bogomips.org/examples/nginx.conf )
我的如下:
注意:
1
这两个的unicorn.project-name.sock的路径必须是一致的!!!
2
一 安装
安装nginx: sudo apt-get install nginx
安装unicorn: gem install unicorn
二 配置
1 在你项目的config文件夹下添加一个unicorn.rb文件,添加代码(样列:http://unicorn.bogomips.org/examples/unicorn.conf.rb)
我的如下:
module Rails class << self def root File.expand_path(__FILE__).split("/")[0..-3].join("/") end end end preload_app true working_directory Rails.root pid "#{Rails.root}/tmp/pids/unicorn.pid" stderr_path "#{Rails.root}/log/unicorn.log" stdout_path "#{Rails.root}/log/unicorn.log" 15 worker_processes 2
timeout 30 GC.respond_to?(:copy_on_write_friendly=) and GC.copy_on_write_friendly = true before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! end after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
2 配置nginx
sudo apt-get install nginx默认安装在/etc/nginx目前下
在/etc/nginx/conf.d目录下创建文件:project_name.conf 添加代码(样例: http://unicorn.bogomips.org/examples/nginx.conf )
我的如下:
upstream project_name_backend { server unix:/path_to_project/tmp/sockets/unicorn.project-name.sock fail_timeout=0; } server { listen 80; server_name localhost; root /path_to_project/public; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://project_name_backend; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; }
注意:
1
listen "#{Rails.root}/tmp/sockets/unicorn.project-name.sock", :backlog => 64
upstream project_name_backend { server unix:/path_to_project/tmp/sockets/unicorn.project-name.sock fail_timeout=0; }
这两个的unicorn.project-name.sock的路径必须是一致的!!!
2
upstream project_name_backend 这里的project_name_backend 和 proxy_pass http://project_name_backend; 这里的project_name_backend是一致的!!!
相关文章推荐
- ruby on rails 项目部署(Nginx + Passenger)
- rails 项目部署中 nginx 报错及解决方法
- Nginx + Unicorn 部署 Rails 完整配置
- Nginx部署rails项目要点,大文件上传设置(413)
- 使用nginx+passenger将本地Rails项目部署到Centos系统
- ruby on rails 项目部署(Nginx + Passenger)
- Rails Production Server @ Nginx + Postgresql + Ubuntu 使用git远程部署 配置
- apache+passenger部署rails项目
- 在linux平台,使用capistrano, rvm, passenger来部署 rails 项目
- Passenger/Nginx/Ubuntu/MySQL详尽部署Rails 4.2.1/Ruby2.2.2
- rails3 unicorn部署
- python的django项目uwsgi+nginx的部署
- rails3 unicorn部署
- Passenger/Nginx/Debian快速部署Rails
- 学习札记――在ubuntu下用nginx+passenger 进行rails部署
- 学习札记――nginx + passenger 部署多个rails的app时,出现自动跳转到80端口的问题
- 在Ubuntu上使用Nginx + Passenger部署Rails应用
- 部署/配置 Rails+Nginx+Passenger
- rails3 unicorn部署
- Passenger/Nginx/Ubuntu快速部署Rails