Nginxã§ãªãã¼ã¹ãããã·
2ã¤ã®Railsã¢ããªã«ãªãã¼ã¹ãããã·ã使ã£ã¦ããããæ¯ãåããä¾ã
ãã£ã¬ã¯ããªãã¼ã¹ã§æ¯ãåããä¾
user nginx; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { # Railsã¢ããªã®éçã³ã³ãã³ãã¯mongrel_clusterã ã¨é ãã®ã§ãã£ã¨é«éãªãµã¼ã㧠upstream static { server 192.168.0.12:80; server 192.168.0.13:80; } # Railsã¢ã㪠mongrel_cluster upstream app1 { server 192.168.0.12:3000; server 192.168.0.12:3001; server 192.168.0.13:3000; server 192.168.0.13:3001; } upstream app2 { server 192.168.0.12:3010; server 192.168.0.12:3011; server 192.168.0.13:3010; server 192.168.0.13:3011; } # éçãã¼ã¸ãCGIã ã apache upstream web { server 192.168.0.8:80; } server { listen 80; server_name .taslam-example.jp; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect false; proxy_max_temp_file_size 0; # éçã³ã³ãã³ã location ~ ^/(app1|app2)/(javascripts|stylesheets|images)/.* { proxy_pass http://static; break; } # ã¢ããªã±ã¼ã·ã§ã³1ã«æ¯ãåã location /app1 { proxy_pass http://app1; break; } # ã¢ããªã±ã¼ã·ã§ã³2ã«æ¯ãåã location /app2 { proxy_pass http://app2; break; } # ä¸ã«å½ã¦ã¯ã¾ããªããã®ã¯webãµã¼ãã«æ¯ãåã location / { proxy_pass http://web; break; } } }
ãã¡ã¤ã³ãã¼ã¹ã§æ¯ãåããä¾
user nginx; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { # Railsã¢ããªã®éçã³ã³ãã³ãã¯mongrel_clusterã ã¨é ãã®ã§ãã£ã¨é«éãªãµã¼ã㧠upstream static { server 192.168.0.12:80; server 192.168.0.13:80; } # Railsã¢ã㪠mongrel_cluster upstream app1 { server 192.168.0.12:3000; server 192.168.0.12:3001; server 192.168.0.13:3000; server 192.168.0.13:3001; } upstream app2 { server 192.168.0.12:3010; server 192.168.0.12:3011; server 192.168.0.13:3010; server 192.168.0.13:3011; } # éçãã¼ã¸ãCGIã ã apache upstream web { server 192.168.0.8:80; } # ã¢ããªã±ã¼ã·ã§ã³1ã«æ¯ãåã server { listen 80; server_name app1.taslam-example.jp; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect false; proxy_max_temp_file_size 0; # éçã³ã³ãã³ã location ~ ^/(javascripts|stylesheets|images)/.* { proxy_pass http://static; break; } location / { proxy_pass http://app1; break; } } # ã¢ããªã±ã¼ã·ã§ã³2ã«æ¯ãåã server { listen 80; server_name app2.taslam-example.jp; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect false; proxy_max_temp_file_size 0; # éçã³ã³ãã³ã location ~ ^/(javascripts|stylesheets|images)/.* { proxy_pass http://static; break; } location / { proxy_pass http://app2; break; } } # Webãµã¼ãã«æ¯ãåã server { listen 80; server_name www.taslam-example.jp; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect false; proxy_max_temp_file_size 0; location / { proxy_pass http://web; break; } } }