/etc/nginx/nginx.conf
выглядит так:
user deploy;
worker_processes 5;
error_log logs/error.log;
events {
worker_connections 1024;
use epoll;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream foreman4000 {
server x.x.x.x:4000;
server x.x.x.x:4001;
server x.x.x.x:4002;
server x.x.x.x:4003;
server x.x.x.x:4004;
}
server {
listen 80;
server_name x.x.x.x; #server IP
access_log /opt/nginx/foreman4000.access.log;
location / {
proxy_pass http://foreman4000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
Здесь я использую gem foreman, который использует upstart для управления всеми процессами и запуска всех серверов одной командой.
Я создал Procfile в основном каталоге проекта, который содержит:
redis: redis-server
thin: bundle exec thin start -p $PORT
faye: rackup faye.ru -E production -s thin
Добавлено в Gemfile:
gem 'foreman'
gem 'thin'
gem "foreman-export-daemontools", "~> 0.0.1"
Запустил локальную установку пакета для редактирования развернутого проекта Gemfile.lock на сервере.
Запустил Nginx
deploy@dcards101:/opt/nginx/conf$ sudo /etc/init.d/nginx stop [ OK ]
deploy@dcards101:/opt/nginx/conf$ sudo /etc/init.d/nginx srart [ OK ]
Экспорт данных из Procfile в Upstart
deploy@dcards101:/var/www/cards/current$ rvmsudo foreman export upstart -a cards -u root
Запущенное приложение
deploy@dcards101:/var/www/cards/current$ rvmsudo start cards
Теперь все должно было быть хорошо, но то, что я вижу на сервере, это только
502 Bad Gateway
nginx/1.0.15
Логи говорят:
2012/07/17 17:22:30 [error] 11593#0: *148 no live upstreams while connecting to upstream, client: x.x.x.x, server: x.x.x.x, request: "GET / HTTP/1.1", upstream: "http://foreman4000/", host: "x.x.x.x"
Пожалуйста, помогите чем можете. Сервер — Ubuntu 10 LTS.