一直想動手部署一個生產(chǎn)環(huán)境在服務(wù)器上。推了好幾次,趁著今天有空,就想學(xué)習(xí)一下。根據(jù)下面的鏈接來進(jìn)行操作的。
Ubuntu 14.04 上使用 Nginx Passenger 部署 Ruby on Rails
有幾個地方卡住了,所以要記錄一下,免得以后忘記。如下(最好每次操作都加上sudo)
- 問題:裝好ubuntu系統(tǒng)后,結(jié)果發(fā)現(xiàn)通過SSH不能連接服務(wù)器。解決:確定服務(wù)器能連上網(wǎng),虛擬機(jī)的話,請用橋接的模式,同時指定一個ip給服務(wù)器。再sudo apt-get install openssh-server。
- 問題:指南中用的是ubuntu12.04。可能與自己的服務(wù)器版本不一致解決: 安裝passenger的時候,要注意系統(tǒng)版本。用正確的源來安裝。
- 問題:
sudo echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main" > /etc/apt/sources.list.d/passenger.list提示沒有權(quán)限解決:sudo chown -R deploy /etc/apt/sources.list.d - 問題:指南中用的是PostgreSQL數(shù)據(jù)庫,可能與自己使用的數(shù)據(jù)庫不一致
解決:要安裝好對應(yīng)的數(shù)據(jù)庫的?;蛘咧苯邮褂肞ostgreSQL數(shù)據(jù)庫 - 問題:如果給PostgreSQL添加一個用戶?
解決:sudo su postgres -> createuser -drSP deploy -> createdb -O deploy deploy - 問題:怎么查看nginx的log
解決: sudo tail -f /var/log/nginx/error.log - 問題:訪問的時候,提示“Incomplete response received from application”
解決:
Go to your rails app directory
cd /path/rails-app
Generate secret key base
rake secret RAILS_ENV=production
Set environment variable
SECRET_KEY_BASE=<the-secret-key-base>
Restart the Rails app
touch /path/rails-app/tmp/restart.txt
- 問題: 訪問的時候,報錯:We're sorry, but something went wrong.
解決: 增加#encoding:utf-8 ,我是在initailizers的其中一個文件上加的。