本系列分三篇,记录了 Rails+Puma+Nginx+HTTPS(SSL) 网站服务搭建的全部过程
(一):Ubuntu 下 Ruby on rails 环境搭建及测试
(二):nginx 安装及配置,及 puma+nginx 运行 rails app
(三):SSL(HTTPS) 证书申请及 nginx 配置

系统环境

在以下系统环境下均通过了测试:

  • Windows 10 WSL:Ubuntu 18.04
  • Ubuntu 18.04
  • AWS EC2:Ubuntu 18.04

基本安装步骤

安装前准备

1
2
3
4
5
sudo apt update
sudo apt upgrade

# 安装必要的依赖
sudo apt install sqlite3 gnupg curl git libpq-dev

安装 RVM Ruby 版本管理器

安装软件签名公钥

1
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

安装 rvm,该步骤同时也会安装上最新版本的 ruby。

1
2
curl -sSL https://get.rvm.io | bash -s stable --ruby
source ~/.rvm/scripts/rvm

验证安装,输出当前 rvm 版本。

1
rvm version

安装 ruby (可选)

在安装 rvm 时,已经默认安装好 ruby 的最新版本,可直接使用。下面介绍通过 rvm 安装其它 ruby 版本的过程,及指定默认 ruby 版本的方法。

将rvm更新至最新最稳定的状态

1
rvm get stable --autolibs=enable

查看所有ruby版本

1
rvm list known

安装ruby

1
rvm install ruby-2.5.1

设置ruby的默认版本

1
rvm --default use ruby-2.5.1

查看ruby版本

1
ruby -v

安装 nodejs

我们需要安装 nodejs 作为 ruby 的 js 运行时环境。

添加 nodejs 仓库:

1
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

安装 nodejs:

1
2
sudo apt install -y nodejs
# sudo apt install gcc g++ make

配置 ruby gem (可选)

gem是ruby的包管理工具,在我们安装ruby的时候,他已经被自动安装上了

1
2
3
4
# 更新 gem
gem update --system
# 查看 gem 版本
gem -v

安装 rails

使用 gem 进行安装

1
gem install rails -v 5.2.0

如果网络情况不好,可更换国内源(淘宝源)

1
2
3
4
5
# gem 更换源,如果当前源不可用,可更换源
## 移除现有源
gem sources -r https://rubygems.org
## 添加淘宝源
gem sources -a http://ruby.taobao.org/

也可添加清华源:gem sources -a https://mirrors.tuna.tsinghua.edu.cn/rubygems/

验证安装:

1
rails -v

测试 rails 安装是否成功

创建 blog 应用

1
rails new blog

进入该文件夹,启动 web 服务器

1
rails server -b 0.0.0.0 -p 80
  • -b:允许访问的IP地址,0.0.0.0 表示允许任何 IP 地址访问
  • -p:web应用端口号

上述命令会启动 Puma,这是 Rails 默认使用的 Web 服务器。要查看运行中的应用,请打开浏览器窗口,访问 http://服务器IP。这时应该看到默认的 Rails 欢迎页面:

Rails 欢迎界面

安装完成。