2014-09-03 3 views
0

Я хотел бы разместить несколько рельсовых приложений с помощью nginx + unicorn, который в настоящее время обслуживается с помощью apache + пассажира с railsbaseuri. Единственная причина заключается в том, что apache необходимо перезагрузить после развертывания каждого нового приложения. Я хотел бы знать, возможно ли добавление нового приложения в unicorn + nginx без перезагрузки сервера.Хост нескольких рельсов приложений по подпапке с использованием nginx + unicorn

Я хочу развернуть приложения в подпапке, например host-name/nginx-app1, имя-хоста/nginx-app2, в то время как имя хоста указывает на базовую страницу html.

Прочитайте где-нибудь, что связано с использованием сокетов для обработки отдельных приложений и будет искать некоторую помощь для его реализации. В моем случае приложение развертывается только один раз без дальнейших итераций. После развертывания нового приложения не должно быть простоев, чтобы запустить текущее приложение.

EDIT 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 

ответ

1

Один из способов решения этого вопроса заключается в том, что в нем используются рельсы в качестве UDS. И nginx должен иметь несколько блоков сервера для чтения из каждого UDS (Unix Domain Sockets). Написание логического adhoc pardon для синтаксических ошибок.

например. Посмотри на это!
http://projects.puppetlabs.com/projects/1/wiki/using_unicorn

Вы можете разместить app1 с помощью app1.conf для единорога, который будет иметь строку.

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; 
     } 
    } 
+0

Что будет расположение App1. conf для unicorn.Проверьте мое редактирование, где я обновил файл unicorn.rb. Так как я говорю, что мне нужно иметь отдельные файлы .conf для каждого приложения. будет ли множественный код nginx вверх по потоку идти в nginx.conf или default.conf ?. – Bijendra

+0

он работал наконец ..thanx – Bijendra

Смежные вопросы