ubuntu14.04 安裝 Rails 環境, Nginx Passenger

weixin_34195546發表於2016-03-22

ubuntu14.04 安裝 Rails 環境, Nginx Passenger

新建部署使用者

# 建立新使用者-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
# 產看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除錯修改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
# 檢視伺服器的secret值
rake secret

# 在config/secrets.yml,替換掉production設定中的 <%= ENV["SECRET_KEY_BASE"] %>
# 或者在環境變數裡新增;
# 或者在production的組裡新增 dotenv-rails 這個gem,之後在專案根目錄下新建 .env 檔案,新增配置
SECRET_KEY_BASE=b78a0f839f2be596a1543f13bb90b965d5736dcb190504b10c3de05eb2fcb66d1ab6d92b3450e603e5768bba1830604a506bcb5a0f6040ec110b2f55e2a2a78e

# 程式碼 push && pull

# 設定Rails執行環境 並 執行DB 遷移
RAILS_ENV=production rake db:create db:migrate

完成

# 重啟 Nginx
sudo service nginx restart

at 2016-03-22

相關文章