使用Nginx + Unicorn在子文件夹上托管多个Rails应用程序

比延德拉

我想使用nginx + unicorn托管多个rails应用程序,当前使用apache + passenger with railsbaseuri服务。唯一的原因是在部署每个新应用程序后都需要重新加载apache。我想知道是否可以在unicorn + nginx中添加新应用程序而无需重新加载服务器。

我想在子文件夹(例如主机名/ nginx-app1,主机名/ nginx-app2)上部署应用程序,而主机名指向基本的html页面。

阅读与使用套接字处理单个应用程序有关的内容,并会寻求一些帮助来实现此目的。就我而言,该应用程序仅部署了一次,没有进一步的迭代。一旦我部署了新应用程序,就应该没有停机时间才能使当前应用程序运行。

在应用程序内部编辑config / unicorn.rb文件。

    working_directory "/home/ubuntu/application_1"
    pid "/home/ubuntu/application_1/pids/unicorn.pid"
    stderr_path "/home/ubuntu/application_1/log/unicorn.log"
    stdout_path "/home/ubuntu/application_1/log/unicorn.log"
    listen "/tmp/unicorn.todo.sock"
    worker_processes 2
    timeout 30
索拉耶特

解决方法之一是将Rails应用程序托管为UDS。nginx具有多个服务器块,可以从每个UDS(Unix域套接字)读取。为语法错误编写逻辑即席赦免。

看看这个。
http://projects.puppetlabs.com/projects/1/wiki/using_unicorn

您可以使用app1.conf来托管app1,以便麒麟有一行。

listen '/var/run/app1.sock', :backlog => 512

并且有多个像这样的nginx上游

upstream app1 {
        server unix:/var/run/app1.sock fail_timeout=0;
    }
upstream app2 {
        server unix:/var/run/app2.sock fail_timeout=0;
    }
  ....

并根据位置或主机标头路由来自服务器块的请求(proxypass)

 server {
        listen 80;    
        location /app1 { 
            proxy_pass http://app1;
            proxy_redirect off; 
        } 
        location /app2 { 
            proxy_pass http://app2;
            proxy_redirect off; 
        } 
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Puma和Nginx配置在子URL上托管的Rails 3应用程序?

使用Nginx和Unicorn的多个Rails应用程序的一个域名

如何在Nginx上托管的单个域下托管多个Flask应用程序?

在子文件夹上托管ASP.net应用程序

如何托管多个 Angular 应用程序,使用 nginx 容器进行子域

Nginx用于两个Rails应用程序-根文件夹和特殊子文件夹

如何在Vagrant的共享文件夹上使用“ ng new”创建角度应用程序?

在Nginx Ubuntu 14.04上托管多个应用

使用AzureDevOps更新Azure上托管的Sitecore应用程序

使用Nginx,Socket.io和Node.js在树莓派上托管Angular应用程序

使用Nginx映射Rails应用程序

静态文件问题 - 使用 nginx 在子目录下托管 PHP 应用程序

ERR_CONNECTION_REFUSED 在 Docker 容器内的 nginx 上托管的 angular 应用程序上?

Rails Nginx:多个应用程序

在IIS(Windows 10)上托管时无法在Web应用程序中托管使用LocalDB

使用NGINX配置不同版本的PHP以在子文件夹上工作

如何对Azure上托管的Web应用程序和window的IIS服务器上托管的Web应用程序使用相同的自定义域?

Nginx不服务器子文件夹api应用程序(php-fpm)

使用Nginx部署多个Go应用程序

在Nginx中使用多个应用程序获取DNS映射

使用 rails 应用程序安装 ssl 证书的 nginx 配置

可以使用Cloud9编辑Heroku上托管的PHP应用程序吗?

是否可以使用单个package.json在Heroku上托管MERN应用程序?

使用Rack在非root用户路径上托管Sinatra应用程序

使用Visual Studio Code调试VM上托管的节点应用程序

使用基本URL在Web服务器上托管Polymer应用程序

使用 cpanel 上托管的 React 路由器的 React 应用程序的 htaccess

多个问题再次使用Google Endpoints Identity-Aware代理对GCP上托管的B2B应用程序的G Suite用户进行身份验证

如何使用应用程序脚本在子文件夹内的子文件夹中搜索文件?