使用nginx+passenger將本地Rails專案部署到Centos系統
在阿里雲伺服器上將寫好的RailAPI專案進行部署
我這裡選擇使用nginx+passenger進行部署。
在網上查詢教程後發現,passenger一般會直接將nginx進行捆綁安裝,所以就先使用yum remove nginx
將伺服器上的nginx解除安裝,然後輸入以下命令:
rvmsudo gem install passenger
安裝好passenger
接著安裝nginx,直接輸入
rvmsudo passenger-install-nginx-module
按照提示進行安裝,將nginx安裝在/opt/nginx目錄下。
第一次按照教程安裝結果到最後提示It looks like something went wrong,安裝失敗。
網上查閱後發現是阿里雲伺服器上的linux系統沒有分配swap分割槽,於是手動進行swap分割槽,
之後安裝就可以成功。
安裝完成後要進行配置,配置檔案是/opt/nginx/conf/nginx.conf
主要是修改server中的這些內容
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/tcw001/MA/public;
index index.html index.htm;
passenger_enabled on;
autoindex on;
rails_env development;
}
注意root的目錄寫自己專案下的public,rails_env可以寫開發環境或者生產環境,passenger_enbaled一定要寫。
成功修改後,啟動nginx。並不能使用services nginx start來啟動nginx,直接輸入nginx -v
,也會提示-bash: nginx: command not found
,暫時不知道需要怎麼配置才能讓系統識別nginx,但是查閱後發現要直接輸入命令/opt/nginx/sbin/nginx
,就可以進行啟動。
我操作後提示80埠被佔用,於是在配置中將listen改成8088埠,最後成功完成部署。