你的位置:首页 > 网络运维

#定义Nginx运行的用户和用户组
#user  nginx;
user nginx nginx;

#nginx进程数,建议设置为等于CPU总核心数。
worker_processes auto;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
#error_log  /var/log/nginx/error.log warn;
#error_log  /var/log/nginx/error.log warn;

#进程文件
pid        /var/run/nginx.pid;


#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,
#但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
worker_rlimit_nofile 51200;

#工作模式与连接数上限
events
	{
		#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; 
		#epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
		use epoll;
		#单个进程最大连接数(最大连接数=连接数*进程数)
		worker_connections 51200;
		multi_accept on;
	}

#设定http服务器
http {
	#在http {—}里加上server_tokens off; 隐藏版本信息
	server_tokens off;  
    include       mime.types; 	#文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型
	#charset utf-8; #默认编码
	
	#服务器名字的hash表大小
	server_names_hash_bucket_size 128; 
	
	#上传文件大小限制
	client_header_buffer_size 32k; 
	
	#设定请求缓
	large_client_header_buffers 4 64k;
	
	#设定请求缓
	client_max_body_size 8m;
	
	# 开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,
	# 如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。
	# 注意:如果图片显示不正常把这个改成off。
	sendfile on;
	
	#开启目录列表访问,合适下载服务器,默认关闭。
	autoindex off; 
	
	tcp_nopush on; #防止网络阻塞
	tcp_nodelay on; #防止网络阻塞
	
	#长连接超时时间,单位是秒
	keepalive_timeout  65;
	
	#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
	fastcgi_connect_timeout 500;
	fastcgi_send_timeout 500;
	fastcgi_read_timeout 500;
	fastcgi_buffer_size 128k;
	fastcgi_buffers 4 128k;
	fastcgi_busy_buffers_size 128k;
	fastcgi_temp_file_write_size 256k;

	
	#gzip模块设置
	gzip on; #开启gzip压缩输出
	gzip_min_length 1k; #最小压缩文件大小
	gzip_buffers 4 16k; #压缩缓冲区
	gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
	gzip_comp_level 2; #压缩等级
	gzip_types text/plain application/x-javascript text/css application/xml image;
	#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。

	gzip_vary on;
	#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
	

	#日志格式设定
	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/log/nginx/access.log  access;
	
	upstream xubaojin {
			server 192.168.1.61:80 weight=3;
			server 192.168.1.62:80 weight=3;
			}


	server {
		listen       80;
		server_name 192.168.1.67;
		location / {
		proxy_pass http://xubaojin; 
        #用来定义故障转移策略,当后端服务节点返回 500、 502、 503、504 和执行超时等错误时,
        #自动将请求转发到upstream负载均衡组中的另一台服务器,实现故障转移。
        proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;
        #禁止重定向
        proxy_redirect off;
        #proxy_set_header设置由后端的服务器获取用户的主机名或真实IP地址,以及代理者的真实IP地址。
        proxy_set_header Host $host:$proxy_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 用于指定客户端请求主体缓冲区大小,可以理解为先保存到本地再传给用户。
        client_body_buffer_size 128k;
        #表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间。一般建议不要超过75s,默认时间60s。
        proxy_connect_timeout 90;
        #表示后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,
        #否则,Nginx将断开这个连接。默认时间60s。
        proxy_send_timeout 90;
        #设置Nginx从代理的后端服务器获取信息的时间,表示连接建立成功后,
        #Nginx等待后端服务器的响应时间,其实是Nginx已经进入后端的排队之中等候处理的时间。默认时间60s。
        proxy_read_timeout 90;
        #设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers设置的大小。
        proxy_buffer_size 4k;
        #设置缓冲区的数量和大小。Nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。
        proxy_buffers 4 32k;
        #用于设置系统很忙时可以使用的 proxy_buffers 大小, 官方推荐的大小为 proxy_buffers*2。
        proxy_busy_buffers_size 64k;
        #指定 proxy 缓存临时文件的大小。
        proxy_temp_file_write_size 64k;
		}

	}
	#===============================================================================================
	server {
    	listen       80;
    	server_name _;
	access_log  /www/logs/xubaojin_access.log  access;
    	location / {
	root /www/xubaojin;
	index index.php index.html index.htm;
		if (-f $request_filename/index.html){
		rewrite (.*) $1/index.html break; 
		}
		if (-f $request_filename/index.php){
		rewrite (.*) $1/index.php;
		}	 
		if (!-f $request_filename){ 
		rewrite (.*) /index.php; 
		}
	}
	#配置Nginx支持php文件
    location ~ \.php$ {
        root           /www/xubaojin;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/xubaojin/$fastcgi_script_name;
        include        fastcgi_params;
    }

	}
}


尊重共享,欢迎转载,请自觉添加本文链接,谢谢!本文链接:https://www.601849.com/post/353.html