/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;
}
}
}
ここでは、upstart を使用してすべてのプロセスを管理し、1 つのコマンドですべてのサーバーを起動する gem foreman を使用します。
以下を含むプロジェクトのメイン ディレクトリに 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"
bundle install をローカルで実行して、サーバー上の 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。