首页 > 代码库 > nginx.conf 集群完整配置

nginx.conf 集群完整配置

###############################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.luozhonghua1.com; #ip或域名,可以多个www.abc.com,127.0.0.1

        #charset koi8-r;   #编码格式

        access_log  logs/luozhonghua1.access.log  main;   #虚拟主机访问日志存放路径

        location / {
            #root   html;
            index  index.html index.htm;
	    root   /web/www/luozhonghua1.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.luozhonghua2.com; #ip或域名,可以多个www.abc.com,127.0.0.1

        #charset koi8-r;   #编码格式

        access_log  logs/luozhonghua2.access.log  main;   #虚拟主机访问日志存放路径

        location / {
            #root   html;
            index  index.html index.htm;
	    root   /web/www/luozhonghua2.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.luozhonghua2.com.conf;
   ####/usr/local/nginx/conf/vhosts/www.luozhonghua2.com.conf
	 #server {
	  #  listen    80;
	  #  server_name  www.luozhonghua3.com
	  #  access_log   logs/luozhonghua3.access.log.main;
	  #  location  / {
	  #     index index.html;
	  #     root /web/www/luozhonghua3.com/htdocs;
	  #  }
	#}
   ####/usr/local/nginx/conf/vhosts/www.luozhonghua2.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.luozhonghua.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 *.luozhonghua.com luozhonghua.com;
	    if($invalid_referer)
	    {
	      rewrite ^/ http://www.luozhonghua.com/img/error.gif
	    #return 403;
	    }

	    location /images{
	      root /usr/local/nginx/html;
	      valid_referers none blocked *.luozhonghua.com luozhonghua.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;
    #    }
    #}

}