L1g3r Logo           SignalQ Sites: NetAdminTools - Coprolite - SpotBridge - NAW
RoboCoop - AreWeDown - SysAdminTools
Xfig - Gold Loaf - GeekPapa - FixGMC - FixRambler
Part A - Main Nginx Config File
Topic:MCJ Web Presentation   Date: 2010-01-03
Printer Friendly: Print   

spacerspacer
<<  <   >  >>

Subject

This is the main configuration file for Nginx. In the beginning of the file I set up the 40 members of the Mongrel (Rails) application server pool. I also include vhost2, which is a common configuration file I use for all domains.

user  apache;
worker_processes  2;

error_log  /wwwlogs/error_log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    worker_connections  4096;
}

http {
proxy_read_timeout 200s;
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$httpxforwarded_for"';
    #log_format  are '$remote_addr "$request"';
    log_format  are '$remote_addr /submit/path/request';
    access_log  /wwwlogs/access_log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
#     passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.0;
#      passenger_ruby /usr/local/bin/ruby;
# passenger_user apache;
# passenger_default_user apache;
passenger_log_level 3;
#passenger_analytics_log_user apache;
#passenger_spawn_method smart;
    #gzip  on;
upstream passenger {
        server 127.0.0.1:9000;
#        server 127.0.0.1:9001;
#        server 127.0.0.1:9002;
#        server 127.0.0.1:9003;
#        server 127.0.0.1:9004;
#        server 127.0.0.1:9005;
#        server 127.0.0.1:9006;
#        server 127.0.0.1:9007;
#        server 127.0.0.1:9008;
#        server 127.0.0.1:9009;
#        server 127.0.0.1:9010;
#        server 127.0.0.1:9011;
#        server 127.0.0.1:9012;
#        server 127.0.0.1:9013;
#        server 127.0.0.1:9014;
#        server 127.0.0.1:9015;
#        server 127.0.0.1:9016;
#        server 127.0.0.1:9017;
#        server 127.0.0.1:9018;
#        server 127.0.0.1:9019;
#        server 127.0.0.1:9020;
#        server 127.0.0.1:9021;
#        server 127.0.0.1:9022;
#        server 127.0.0.1:9023;
#        server 127.0.0.1:9024;
#        server 127.0.0.1:9025;
#        server 127.0.0.1:9026;
#        server 127.0.0.1:9027;
#        server 127.0.0.1:9028;
#        server 127.0.0.1:9029;
#        server 127.0.0.1:9030;
#        server 127.0.0.1:9031;
#        server 127.0.0.1:9032;
#        server 127.0.0.1:9033;
#        server 127.0.0.1:9034;
#        server 127.0.0.1:9035;
#        server 127.0.0.1:9036;
#        server 127.0.0.1:9037;
#        server 127.0.0.1:9038;
#        server 127.0.0.1:9039;
    }
    server {
      server_name  stage.sysadmintools.com;
      set $realm sys;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.coprolite.com;
      set $realm cop;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.fixgmc.com;
      set $realm gmc;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.robocoop.com;
      set $realm rob;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.fixrambler.com;
      set $realm fix;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.geekpapa.com;
      set $realm gee;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.spotbridge.com;
      set $realm spot;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.xfig.org;
      set $realm xfig;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.netadmintools.com;
      set $realm nat;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.goldloaf.com;
      set $realm gold;
      include /usr/local/nginx/conf/common/vhost2;
    }
    server {
      server_name  stage.l1g3r.com ;
      set $realm l1g;
      include /usr/local/nginx/conf/common/vhost2;
    }
  server {
      server_name  blog.l1g3r.com;
      set $realm l1g;
root /wwwdocs/$realm;
      listen       80;
      #deny files that start with .
      location ~ /\. {
        deny  all;
      }
      location / {
      if (-f $request_filename) { 
        break; 
      }

      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }
      if (!-f $request_filename) {
        rewrite ^/index.html$ /~borx$realm/bpage last;
        rewrite ^/$ /~borx$realm/bpage last;
        proxy_pass http://passenger;
        break;
      }
    }
       error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}


Updates and Comments:
On my GNU/Linux workstation this file is located at /usr/local/nginx/conf/nginx.conf
People:
Places:
Things:
Times: