ubuntu14.04 安裝 Rails 環(huán)境, Nginx Passenger
新建部署用戶
# 創(chuàng)建新用戶-dep
sudo useradd -m -s /bin/bash dep
sudo adduser dep sudo
sudo passwd
# 安裝ssh遠程連接
sudo apt-get install update
sudo apt-get install ssh
# 查看機器IP
ifconfig
# login as dep
安裝ruby
sudo apt-get install curl
# 安裝 RVM
\curl -sSL https://get.rvm.io | bash
# 激活 RVM
source .bashrc
# 產(chǎn)看RVM版本
rvm -v
# 用RVM安裝Ruby
rvm install 2.3.0
# 查看RVM下所有ruby版本
rvm list
# 指定默認ruby
rvm alias create default 2.3.0
# 查看ruby命名位置
which ruby
# /home/dep/.rvm/rubies/ruby-2.3.0/bin/ruby
安裝Nginx和Passenger
# APT安裝 nginx+passenger
# 參考 https://www.phusionpassenger.com/library/install/nginx/install/oss/trusty/
# Install our PGP key and add HTTPS support for APT
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
# Add our APT repository
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
# Install Passenger + Nginx
sudo apt-get install -y nginx-extras passenger
安裝依賴工具
# 安裝nodejs禀酱,后面會有依賴
sudo apt-get install nodejs
# 安裝Git
sudo apt-get install git
配置 Nginx
sudo vi /etc/nginx/nginx.conf
# 去掉下面兩行的注釋
# passenger_root /some-filename/locations.ini;
# passenger_ruby /usr/bin/passenger_free_ruby;
# 修改Nginx配置
sudo rm /etc/nginx/sites-enabled/default
sudo vi /etc/nginx/sites-enabled/example.com.conf
server {
listen 80 default;
server_name ror.cbd; # 如果是本地VM調(diào)試修改hosts文件
root /home/deploy/code_from_git/toy_app/public;
passenger_enabled on;
}
部署代碼
# clone 代碼
# bundle安裝gems
gem install bundle
# 如果失敗了就切回ruby-china的源
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
gem sources -l
# 進入項目目錄
bundle install
# 查看服務(wù)器的secret值
rake secret
# 在config/secrets.yml,替換掉production設(shè)置中的 <%= ENV["SECRET_KEY_BASE"] %>
# 或者在環(huán)境變量里添加咙边;
# 或者在production的組里添加 dotenv-rails 這個gem,之后在項目根目錄下新建 .env 文件试浙,添加配置
SECRET_KEY_BASE=b78a0f839f2be596a1543f13bb90b965d5736dcb190504b10c3de05eb2fcb66d1ab6d92b3450e603e5768bba1830604a506bcb5a0f6040ec110b2f55e2a2a78e
# 代碼 push && pull
# 設(shè)置Rails運行環(huán)境 并 運行DB 遷移
RAILS_ENV=production rake db:create db:migrate
完成
# 重啟 Nginx
sudo service nginx restart
at 2016-03-22