原生的nginx伺服器並不滿足rails部署的條件,因此需要使用passenger改寫過的nginx.
ps:
- rails接受請求的模型是一個進程處理一個請求,單個進程效率比較低,一般需要開啟多個進程
- passenger是Rails應用服務管理工具,可以統一管理rails進程的數量,生命週期,請求隊列等等
- nginx是一個高效能的web伺服器,由於nginx處理連結和靜態資源的能力很強,所以一般在rails之前放上nginx接受用戶端請求
- 其關係如
安裝passernger,由於nginx不支援動態模組載入,所以要使用passenger來進行編譯安裝由passenger修改過的nginx
#安裝passenger gem install passenger #接下來安裝nginx passenger-install-nginx-module #ps:記得在安裝過程中選擇1,即完整安裝
3.安裝完成後系統會提示,nginx安裝的目錄,在centos7下預設是安裝在/opt/nginx下,設定檔是預設在/opt/nginx/conf/nginx.conf
4.配置nginx(最重要的部分)
sudo nano /opt/nginx/conf/nginx.conf
{ worker_processes 1;events { worker_connections 1024;}http { #這裡是由passenger自己設定的 passenger_root /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.10; passenger_ruby /usr/local/rvm/gems/ruby-2.2.1/wrappers/ruby; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { #監聽的連接埠 listen 80; server_name 127.0.0.1; #web根目錄,一定是rails項目下的public root /var/www/furui_hisms/ironmine/public/; #一定要記得將這個選項設定為on passenger_enabled on; } }
4.啟動nginx即可訪問(參考我的部落格linux下shell命令,是以將啟動停止nginx作為執行個體的)
5.幾個nginx命令
#啟動 sudo nginx #停止 sudo nginx -s stop #重啟 sudo nginx -s reload
6.文章部分資訊參考自使用passenger在Centos7部署nginx+Ruby on Rails
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
以上就介紹了Rails+nginx伺服器部署,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。