首頁 >後端開發 >php教程 >Rails+nginx伺服器部署

Rails+nginx伺服器部署

WBOY
WBOY原創
2016-07-30 13:31:251129瀏覽

  1. 原生的nginx伺服器並不滿足rails部署的條件,因此需要使用passenger改寫過的nginx.

    ps:

    • rails接受請求的模型是一個進程處理一個請求單一進程效率較低,一般需要開啟多個進程
    • passenger是Rails應用服務管理工具,可以統一管理rails進程的數量,生命週期,請求隊列等等
    • nginx是一個高性能的web伺服器,由於nginx處理鏈接和靜態資源的能力很強,所以一般在rails之前放上nginx接受客戶端請求
    • 其關係如下圖
      Rails+nginx伺服器部署
  2. 安裝passernger,由於nginx不支援動態的模組載入,所以要使用passenger來進行編譯安裝由passenger修改過的nginx

    <code>
        #安装passenger
           gem install passenger
        #接下来安装nginx
          passenger-install-nginx-module
        #ps:记得在安装过程中选择1,即完整安装
     </code>

    3.安裝完成後系統會提示,nginx安裝的目錄,在centos7下預設是安裝在/opt/nginx下,設定檔是預設在/opt/nginx/conf/ nginx.conf

    4.設定nginx(最重要的部分)

    sudo nano /opt/nginx/conf/nginx.conf

    <code>
       {
           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;
      }    
    }     
    </code>

    4.啟動nginxlind. ,是以將啟動停止nginx作為實例的)
    5.幾個nginx指令

    <code>
       #启动
       sudo nginx
       #停止
       sudo nginx -s stop
       #重启
       sudo nginx -s reload
    </code>

    6.文章部分資訊參考自使用passenger在Centos7部署nginx+Ruby on Rails

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

以上就介紹了Rails+nginx伺服器部署,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn