Nginx+Mongrel+Rails配置摘要

Nginx+Mongrel+Rails配置摘要

Nginx+mongrel+Rails配置的方案很多,在这里只摘抄Nginx的配置文件,然后解释一下

  user www www;#用户名和组都为www,前者为用户名,后者为用户组。如果主进程以root来运行,
                            #nginx使用setuid()/setgid() 。如果没有指定组,nginix使用和用户名相同的组名。

  worker_processes  10;  #worker 进程数

 
  error_log  logs/error.log debug;   #错误日志文件,debug为级别 ,
                                                    #有debug , info , notice ,warn ,error ,crit
  pid        /var/run/nginx.pid;  #nginx的进程位置

  events {  

    use epoll;
    worker_connections  51200;   //worker连接数
  }  

http {  
   include       conf/mime.types;  
   default_type  application/octet-stream;  

  #charset  utf-8;
  sendfile        on;  
  #tcp_nopush     on;
  keepalive_timeout  65;  
  tcp_nodelay        on;  
 

  gzip  on;  
  gzip_min_length  1K;  
  gzip_buffers     48k;  
  gzip_types       text/plain application/x-javascript text/css application/xml;  

  upstream mongrel {   #loading balance
    server 127.0.0.1:8000;  
    server 127.0.0.1:8001;  
  }  

  server {   #server配置,可以设置N个
     listen       80;  
    server_name 
www.domainname.com;  #域名或IP你
    root /usr/local/depot/public;   #根目录
    index  index.html index.htm;   #index文件
    location / {  
      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;  
  

  if (-f $request_filename/index.html) {  
        rewrite (.*) $1/index.html break;  
      }  
 

if (-f $request_filename.html) {  
        rewrite (.*) $1.html break;  
      }  
if (!-f $request_filename) {  
        proxy_pass
http://mongrel;
       break;  
   }  
  }  
  error_page   500 502 503 504  /50x.html;   #error page

  #设置location
  location = /50x.html {  
        root   html;  
    }  

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
   {
     expires      30d;
   }
  location ~ .*\.(js|css)?$
   {
     expires      1h;
   }   
 

log_format  access  ‘$remote_addr – $remote_user [$time_local] "$request" ‘
             ‘$status $body_bytes_sent "$http_referer" ‘
             ‘"$http_user_agent" $http_x_forwarded_for’;

access_log  /var/logs/access.log  access;
}  

注:Nginx的文档

张太国

Comments are closed.