当前位置: > Linux服务器 > nginx >

nginx.conf集群环境配置详解

时间:2014-07-23 12:57来源:linux.it.net.cn 作者:it

nginx.conf 集群完整配置文件,内容如下:
 

#user  nobody;                  # user 主模块指令,指令nginx worker 运行用户和用户组(user xxxuser xxxgroup) ,默认由nobody运行  
worker_processes  1;            # worker_processes 主模块指令,指令nginx运行进程数,每个进程平均耗10m-12m内存,单核为1,多核为n  
  
#error_log  logs/error.log;     # 全局日志 输出级别debug,info,notice,warn,error,crit ,其中debug输出日志最为详细  
#error_log  logs/error.log  notice; #级别 notice  
#error_log  logs/error.log  info;   #级别 info  
  
#pid  logs/nginx.pid;     #pid 指令  指定进程id存储位置  
  
events {  
    worker_connections  1024;   #events 指令 指令nginx 工作模式和连接数上限  
}  
  
http { 
    #http服务器配置  
    include       mime.types;           #包含文件mime.types  
    default_type  application/octet-stream;  #默认为二进制流  
  
    #日志格式的设定  
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  #HttpLog模块指令,日志输出格式,main为日志名称,可以在access_log指令引用  
    #                  '$status $body_bytes_sent "$http_referer" '  
    #                  '"$http_user_agent" "$http_x_forwarded_for"';  
      
  
    #access_log  logs/access.log  main;  
  
    sendfile        on;   #高效文件传输模式,将tcp_nopush和tcp_nodely设置为on  
    #tcp_nopush     on;  
  
    #keepalive_timeout  0;  #客户端连接保持活动的超时时间,超时后关闭连接  
    keepalive_timeout  65;         
  
    #gzip  on;  #开启gzip压缩  实时压缩输出数据流  
  
    #server虚拟主机配置1  
    server {  
        listen       80;  #端口  
        server_name  www.xxx1.com; #ip或域名,可以多个www.abc.com,127.0.0.1  
  
        #charset koi8-r;   #编码格式  
  
        access_log  logs/xxx1.access.log  main;   #虚拟主机访问日志存放路径  
  
        location / {  
            #root   html;  
            index  index.html index.htm;  
        root   /web/www/xxx1.com/htdocs;  
        }  
  
        #error_page  404              /404.html;  
  
        # redirect server error pages to the static page /50x.html  
        #  
        #error_page   500 502 503 504  /50x.html;  
        #location = /50x.html {  
            root   html;  
        }  
  
   #server虚拟主机配置2  
    server {  
        listen       80;  #端口  
        server_name  www.xxx2.com; #ip或域名,可以多个www.abc.com,127.0.0.1  
  
        #charset koi8-r;   #编码格式  
  
        access_log  logs/xxx2.access.log  main;   #虚拟主机访问日志存放路径  
  
        location / {  
            #root   html;  
            index  index.html index.htm;  
        root   /web/www/xxx2.com/htdocs;  
        }  
  
        #error_page  404              /404.html;  
  
        # redirect server error pages to the static page /50x.html  
        #  
        #error_page   500 502 503 504  /50x.html;  
        #location = /50x.html {  
            root   html;  
        }  
         
   #server虚拟主机配置3  
        include /usr/local/nginx/conf/vhosts/www.xxx2.com.conf;  
   ####/usr/local/nginx/conf/vhosts/www.xxx2.com.conf  
     #server {  
      #  listen    80;  
      #  server_name  www.xxx3.com  
      #  access_log   logs/xxx3.access.log.main;  
      #  location  / {  
      #     index index.html;  
      #     root /web/www/xxx3.com/htdocs;  
      #  }  
    #}  
   ####/usr/local/nginx/conf/vhosts/www.xxx2.com.conf  
       
  
   #nginx反向代理负载均衡配置  
     upstream myserver{  
        server 192.168.1.101:80 weight=3 max_fails=3 fail_timeout=20s;  
        server 192.168.1.102:80 weight=1 max_fails=3 fail_timeout=20s;  
        server 192.168.1.103:80 weight=4 max_fails=3 fail_timeout=20s;  
     }  
      
        server{  
       listen 80;  
       server_name   www.xxx.com 192.168.1.100;  
       index index.htm index.html  
       root /web/root;  
  
         location / {  
        proxy_pass http://myserver;  
        proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;  
        include /usr/local/nginx/conf/proxy.conf;  
      }  
  
    }  
      
     ######/usr/local/nginx/conf/proxy.conf文件内容  
     #proxy_redirect off;  
     #proxy_set_header Host $host;  
     #proxy_set_header X-Real-IP $remote_addr;  
     #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
     #client_body_buffer_size 128k;  
     #proxy_connect_timeout 90;  
     #proxy_send_timeout 90;  
     #proxy_read_timeout 90;  
     #proxy_buffer_size 4k;  
     #proxy_buffers 4 32k;  
     #proxy_busy_buffers_size 64k;  
     #proxy_temp_file_write_size 64k;  
     ######proxy.conf文件内容  
  
    #防盗链接设置  
    location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)${  
        valid_referers none blocked *.xxx.com xxx.com;  
        if($invalid_referer)  
        {  
          rewrite ^/ http://www.xxx.com/img/error.gif  
        #return 403;  
        }  
  
        location /images{  
          root /usr/local/nginx/html;  
          valid_referers none blocked *.xxx.com xxx.com;  
          if($invalid_referer){  
            return 403;  
          }  
        }  
    }  
  
       #日志分割配置  
       #/bin/bash  
       savepath_log='/home/nginx/logs'   # 分割后日志存放路径  
       nglogs='/usr/local/nginx/logs'    # nginx日志文件存放路径  
     
       mkdir -p $savepath_log/$(date+%Y)/$(date+%m)  
       mv $nglogs/access.log $savepath_log/$(date+%Y)/$(date+%m)/access.$(date+%Y%m%d).log  
       mv $nglogs/error.log $savepath_log/$(date+%Y)/$(date+%m)/error.$(date+%Y%m%d).log  
       kill -USR1 'cat /usr/local/nginx/logs/nginx.pid'   #通过nginx信号USR1实现日志自动切换功能  
  
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
        #  
        #location ~ \.php$ {  
        #    proxy_pass   http://127.0.0.1;  
        #}  
  
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
        #  
        #location ~ \.php$ {  
        #    root           html;  
        #    fastcgi_pass   127.0.0.1:9000;  
        #    fastcgi_index  index.php;  
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
        #    include        fastcgi_params;  
        #}  
  
        # deny access to .htaccess files, if Apache's document root  
        # concurs with nginx's one  
        #  
        #location ~ /\.ht {  
        #    deny  all;  
        #}  
    }  
     
    # another virtual host using mix of IP-, name-, and port-based configuration  
    #  
    #server {  
    #    listen       8000;  
    #    listen       somename:8080;  
    #    server_name  somename  alias  another.alias;  
  
    #    location / {  
    #        root   html;  
    #        index  index.html index.htm;  
    #    }  
    #}  
  
    # HTTPS server  
    #  
    #server {  
    #    listen       443;  
    #    server_name  localhost;  
  
    #    ssl                  on;  
    #    ssl_certificate      cert.pem;  
    #    ssl_certificate_key  cert.key;  
  
    #    ssl_session_timeout  5m;  
  
    #    ssl_protocols  SSLv2 SSLv3 TLSv1;  
    #    ssl_ciphers  HIGH:!aNULL:!MD5;  
    #    ssl_prefer_server_ciphers   on;  
  
    #    location / {  
    #        root   html;  
    #        index  index.html index.htm;  
    #    }  
    #}  
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容