Nginx 使用与配置参数说明

Nginx 功能丰富,可作为 HTTP 服务器,也可作为反向代理服务器,邮件服务器,支持 FastCGI、SSL、Virtual Host、URL Rewrite、Gzip 等功能,并且支持很多第三方的模块扩展。

正向代理与反向代理,Nginx 在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx 可以根据不同的正则匹配,采取不同的转发策略。

Nginx 提供的负载均衡策略有 2 种:内置策略和扩展策略。内置策略又为轮询,加权轮询,Ip hash。

Ip hash 算法,对客户端请求的 ip 进行 hash 操作,然后根据 hash 结果将同一个客户端 ip 的请求分发给同一台服务器进行处理,可以解决 session 不共享的问题。

Nginx 配置参数说明:

#运行用户
user somebody;
#启动进程,一般设置为 CPU 个数
worker_processes 1;
#指定日志路径,级别,这个设置可以放入全局块,http,server 块
#debug|info|notice|warn|error|crit|alert|emerg
error_log log/error.log debug;
#指定 nginx 进程运行文件存放地址
pid /nginx/pid/nginx.pid; 
events {
	#设置网路连接序列化,防止惊群现象发生,默认为 on
	accept_mutex on;
	#设置一个进程是否同时接受多个网络连接,默认为 off
	multi_accept on;
	#事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
	#use epoll;
	#最大连接数
	worker_connections 1024;
}
http {
	#设置 mime 类型  
	include	mime.types;
	#默认文件类型
    	default_type application/octet-stream;
	#自定义格式
	log_format logFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent 	$http_x_forwarded_for'; 
    	#记录访问日志,不记录访问日志 access_log off;
	access_log log/access.log logFormat;
    	#允许 sendfile 方式传输文件,默认为 off,可以在 http,server,location 块
	sendfile on;
	#每个进程每次调用传输数量不能大于设定的值,默认为 0,即不设上限。
	sendfile_max_chunk 100k;
    	#客户端连接超时时间,可以在 http,server,location 块
    	keepalive_timeout 65;
	#Nginx 服务器与被代理的服务器建立连接的超时时间,默认 60 秒
	proxy_connect_timeout 1;   
	#Nginx 服务器想被代理服务器组发出 read 请求后,等待响应的超时间,默认为 60 秒
    	proxy_read_timeout 1; 
	#Nginx 服务器想被代理服务器组发出 write 请求后,等待响应的超时间,默认为 60 秒
    	proxy_send_timeout 1;
	#Nginx 服务器提供代理服务的 http 协议版本 1.0,1.1,默认设置为 1.0 版本
    	proxy_http_version 1.0 ; 
	#支持客户端的请求方法,post 或者 get
    	#proxy_method get;    
	#客户端断网时,Nginx 服务器是否终端对被代理服务器的请求,默认为 off
    	proxy_ignore_client_abort on;  
	#Nginx 服务器不处理设置的 http 请求头数据,这里空格隔开可以设置多个
    	proxy_ignore_headers "Expires" "Set-Cookie"; 
	#如果被代理服务器返回的状态码为 400 或者大于 400,设置的 error_page 配置起作用,默认为 off
    	proxy_intercept_errors on;    
	#存放 http 报文头的哈希表容量上限,默认为 512
    	proxy_headers_hash_max_size 1024;
	#Nginx 服务器申请存放 http 报文头的哈希表容量大小,默认为 64
    	proxy_headers_hash_bucket_size 128; 
	#反向代理 upstream 中设置的服务器组,出现故障时,被代理服务器返回的状态值
	#error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off
    	proxy_next_upstream timeout;  
	#默认为 on,如果我们在错误日志中发现“SSL3_GET_FINSHED:digest check failed”的情况时,可以将该指令设置为 off
    	#proxy_ssl_session_reuse on; 
    	#当配置多个 server 节点时,需要手动设置大一点
   	 server_names_hash_bucket_size 512;
	#服务器列表
	upstream serverlist {   
		server localhost:7878;
		#热备
		server localhost:3333 backup;
        }
	#错误页
    	error_page 404 https://localhost.com/error.html; 
	#server 可以配置多个
    	server {
		#单连接请求上限次数
		keepalive_requests 120;
        	#监听端口
        	listen 8800;
       		#监听地址
        	server_name localhost;
        	# 编码格式,避免 url 参数乱码
        	charset utf-8;
        	#一个 server 下可以有多个 location,用来匹配同一个域名下不同的 uri 访问
		#请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
        	location  ~*^.+$ {     
			#根目录
			#root path;  
			#设置默认页
			#index vv.txt;
			#请求转向 serverlist 定义的服务器列表
			proxy_pass  http://serverlist;  
			#拒绝的 IP
			deny 127.0.0.1;  
			#允许的 IP
			allow 172.18.5.54;            
        	}
	}
}

管理员

转载请注明出处!如果本博文或者本站对您(网站)的内容/素材构成侵权,请第一时间与本博主联系!

Press ESC to close