配置服务器

初始化服务器之后、部署 Rails 应用前,需要配置服务器,安装必要的依赖软件。

Git

$ sudo apt install git
$ git --version
# => git version 2.17.1

Node.js

$ sudo apt install nodejs
$ node -v
# => v8.10.0

Install yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn

RVM

参考:ubuntu_rvm

$ sudo apt-get install software-properties-common -y
$ sudo apt-add-repository -y ppa:rael-gc/rvm
$ sudo apt-get update
$ sudo apt-get install rvm -y
# 退出服务器并重新登录,以使 login shell 加载 rvm 环境
$ rvm -v
# => rvm 1.29.9 (manual) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

运行 rvm list known 查看可安装的 Ruby 版本,如果没有你想安装的新版本的话,执行 rvmsudo rvm get master 更新可安装版本列表。

此时可能会提示你 "gpg: Can't check signature: No public key" 的错误,根据指引执行以下命令,成功后再执行 rvmsudo rvm get master 即可。

$ sudo gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

安装了新的 rvm,需执行 rvm reload 加载新版本。此时 rvm list known 就能找到我们要安装的 ruby-2.6.5 版本。然后就可以执行以下安装 Ruby 的命令。

$ rvmsudo rvm install 2.6.5
$ rvm --default use 2.6.5
$ ruby -v
#=> ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]

NGINX

参考:Install and Configure Nginx on Ubuntu Linux 18.04 LTS

安装并查看状态。Ubuntu 18.04 LTS 安装好 NGINX 就会启动它并且设置开机自启动。

$ sudo apt install nginx
$ sudo systemctl status nginx

然后打开浏览器输入 http://your-server-ip,确保 NGINX 正常工作。

PostgreSQL

参考:Linux downloads (Ubuntu)

添加 PostgreSQL 的 apt 仓库并安装。

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib -y
$ sudo apt-get install libpq-dev -y # To build `pg` gem native extension

安装成功后,系统会创建多一个名为 postgres 的系统用户,并且创建名为 postgres 的数据库用户。执行以下命令检查 pg 是否正常。

$ sudo su - postgres
$ psql

登录 pg 数据库后,查看连接状态。

postgres-# \conninfo
# => You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".
postgres-# \q

Last updated