NGINX - performance HTTP server Support Forums

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Unofficial (YET) support forums for NGINX, a performance HTTP server.

Pages: [1]   Go Down

Author Topic: Zhesto examples.  (Read 849 times)

0 Members and 1 Guest are viewing this topic.

katmai

  • Administrator
  • Jr. Member
  • *****
  • Karma: 0
  • Offline Offline
  • Posts: 57
    • View Profile
Zhesto examples.
« on: December 03, 2007, 04:20:42 PM »
Virtual hosts

http {
    server {
        listen  192.168.10.1;
        listen  192.168.10.1:8000;
        server_name   one.example.com  www.one.example.com;
        ...
    }

    server {
        listen  192.168.10.1;
        listen  192.168.10.2:8000;
        listen  9000;
        server_name   two.example.com  www.two.example.com;
        ...
    }

    server {
        listen  9000;
        server_name   three.example.com  www.three.example.com;
        ...
    }
}

301 redirect for www.example.com ? example.com

server {
  listen 80;
  server_name example.com www.example.com;

  if ($host != 'example.com' ) {
      rewrite  ^/(.*)$  http://example.com/$1  permanent;
      proxy_set_header Host "example.com";
  }
}

Accelerated proxing

location / {
    proxy_pass        http://localhost:8000/;
    proxy_redirect    off;
    proxy_set_header  X-Real-IP  $remote_addr;
    # needed for HTTPS
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
}

# serve static files directly
location ~* ^.+.(jpg|jpeg|gif)$ {
    root              /spool/www;
    access_log        off;
    expires           30d;
}

Simple load balancing

Servers can listen on different ports. Have support for TCP and Unix sockets.

upstream  backend  {
    server   backend1.example.com       weight=5;
    server   backend2.example.com:8080;
    server   unix:/tmp/backend3;
}

server {
    location / {
        proxy_pass  http://backend;
    }
}

Mongrel cluster
FastCGI ruby listeners
SSL support

To not put too much load on the CPU, only one worker and using keep-alive is recommended.

worker_processes  1;

http {
    ...
    server {
        listen               443;
        ssl                  on;
        ssl_certificate      /usr/local/nginx/conf/cert.pem;
        ssl_certificate_key  /usr/local/nginx/conf/cert.key;
        keepalive_timeout    70;
        ...
    }

URL rewrite

location /old_stuff/ {
    rewrite   ^/old_stuff/(.*)$  /new_stuff/$1  permanent;
}

Regexp in the config

if ($http_user_agent ~ MSIE) {
    rewrite  ^(.*)$  /msie/$1  break;
}

if ($http_cookie ~* "idZhesto
Logged
Pages: [1]   Go Up
« previous next »
 

Page created in 0.038 seconds with 21 queries.