配置服务器
初始化服务器之后、部署 Rails 应用前,需要配置服务器,安装必要的依赖软件。
Git
$ sudo apt install git
$ git --version
# => git version 2.17.1Node.js
$ sudo apt install nodejs
$ node -v
# => v8.10.0curl -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 yarnRVM
参考: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
添加 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-# \qLast updated
Was this helpful?