当前位置:Gxlcms > PHP教程 > Rails+nginx服务器部署

Rails+nginx服务器部署

时间:2021-07-01 10:21:17 帮助过:19人阅读

  1. 原生的nginx服务器并不满足rails部署的条件,因此需要使用passenger改写过的nginx.

    ps:

    • rails接受请求的模型是一个进程处理一个请求,单个进程效率比较低,一般需要开启多个进程
    • passenger是Rails应用服务管理工具,可以统一管理rails进程的数量,生命周期,请求队列等等
    • nginx是一个高性能的web服务器,由于nginx处理链接和静态资源的能力很强,所以一般在rails之前放上nginx接受客户端请求
    • 其关系如下图
      nginx_server
  2. 安装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教程有兴趣的朋友有所帮助。

人气教程排行