nginx 和 mysql 環(huán)境需要事先搭好
服務(wù)器上創(chuàng)建用戶分衫,修改登錄shell為 bash
chsh deploy -s /bin/bash
添加操作機(jī)的 ssh key 到服務(wù)器上實現(xiàn)免密碼連接
-
安裝 rbenv (請查看官方文檔)
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.2.3
因為 cdn 被墻德召,所以需要修改下載地址
find . | grep 2.2.3
vi ./.rbenv/plugins/ruby-build/share/ruby-build/2.2.3
可以順便禁掉 rdoc
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
ruby-build 依賴
apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
還要安裝 bundler
gem install bundler
如果部署在非用戶目錄堂飞,創(chuàng)建目錄并設(shè)置權(quán)限(如
/var/www/
)
執(zhí)行mina init
并修改配置文件mina setup
,然后編輯生產(chǎn)環(huán)境的配置文件 (如database.yml
,secrt.yml
,puma.rb
等)
執(zhí)行rake secret
生成密鑰添加服務(wù)器的 ssh key 到 git 倉庫獲取訪問權(quán)限
-
數(shù)據(jù)庫手動創(chuàng)建
CREATE DATABASE
rails_app
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改字符集
ALTER DATABASE report
CHARACTER SET utf8
COLLATE utf8_general_ci
配置 nginx 和 puma
mina deploy
Puma
# Gemfile
gem 'mina-puma', require: false
# deploy.rb
require 'mina/puma'
必須 puma.rb
中添加下面的配置才能夠通過 mina 來重啟 puma
state_path "#{application_path}/shared/tmp/sockets/puma.state"
activate_control_app "unix://#{application_path}/shared/tmp/sockets/pumactl.sock"
參考
自定義任務(wù)
通過依賴 environment 加載 ruby 和 bundle
desc "rake db:seed"
task :seed => :environment do
queue "cd #{deploy_to}/#{current_path}"
queue "bundle exec rake db:seed RAILS_ENV=production"
end