[ruby on rails] passenger+nginx 部署rails

安装Passenger 方法1

Passenger 是一个 app server,支持基于 Rack 框架的 Ruby app(包括 Rails),作为模块变异到Nginx,不需要自己启动。

安装 Passenger 最简单的方法是通过 apt 安装,首先导入 Passenger 的密钥(官方文档):

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7

安装 apt 插件以支持 https 传输:

sudo apt-get install apt-transport-https ca-certificates

添加 apt 源(对应 Ubuntu 16.04 LTS)不同系统对应不同的源:

sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update

安装 Passenger 的包:

 sudo apt-get install nginx-extras passenger

修改 nginx 配置,编辑 /etc/nginx/nginx.conf,找到这一行的注释:

include /etc/nginx/passenger.conf;

安装Passenger 方法 2

用编译方式安装 passenger,先安装 passenger 的 gem 包

gem install passenger;

然后用 passenger 安装 nginx

passenger-install-nginx-module

一共 2 条命令全部搞定。安装的过程中会让你选择安装的模块,和安装路径。默认在/opt/nginx, 可以填/etc/nginx, 这样安装好的 nginx 是包含 passenger 的。

# 重启
/etc/nginx/sbin/nginx -s reload

安装后配置nginx

nginx里会自带passenger配置,需要按照自己实际路径去配置
在这里插入图片描述
which ruby 查看路径

server {
    listen 81;
    server_name 122.137.242.75;

    location / {
      root /mnt/workspace/sso_online/public;
      passenger_enabled on;
      passenger_ruby /usr/local/rubies/2.2.7/bin/ruby;
    }
  }

这样重启nginx就算启动了,不用再rails s了

你可能感兴趣的:(nginx,ruby,on,rails,运维)