使用Nginx和passenger部署rails
2018-04-23 本文已影响71人
gimp
有几个前提
- 使用完整的Nginx。我是为了使用let's encrypt。
- 使用rvm安装ruby。使用rvm的理由很多,我是为了部署方便。
- 使用capistrano部署。
安装Nginx
不能直接使用sudo apt install nginx
来安装Nginx。仍旧需要使用phusionpassenger,官方网站是这里,安装教程在这里,页面左边有选项,记得选择结合Nginx,以及开源版本。
修改Nginx配置
- 默认情况下,passenger的配置被注释掉了,需要取消掉注释。
打开/etc/nginx/nginx.conf
,找到include /etc/nginx/passenger.conf;
这一行,把注释取消掉。 - 接下来修改passenger的配置文件。打开
/etc/nginx/passenger.conf
,找到passenger_ruby
这一行,修改成passenger_ruby /home/用户/.rvm/wrappers/default/ruby;
,记得写上把用户
替换成自己的用户名。这样就可以使用rvm的ruby了。
配置server
- 配置文件大概在
/etc/nginx/sites_enabled/default
里面。 - 需要修改三处。首先
root
指向项目的public文件夹。其次,增加passenger_enabled on;
这一行,最后,删除所有包括了location
的代码块,否则不能接收post请求。