Nginx的nginx.conf 核心配置文件详解

在这里插入图片描述
nginx配置文件中主要包括六块:maineventshttpserverlocationupstream

  • main块:主要控制nginx子进程的所属用户/用户组、派生子进程数、错误日志位置/级别、pid位置、子进程优先级、进程对应cpu、进程能够打开的文件描述符数目等
  • events块:控制nginx处理连接的方式
  • http块:是nginx处理http请求的主要配置模块,大多数配置都在这里面进行
  • server块:是nginx中主机的配置块,可以配置多个虚拟主机
  • location块:是server中对应的目录级别的控制块,可以有多个
  • upstream块:是nginx做反向代理和负载均衡的配置块,可以有多个

  1. 设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为 nobody
	user root;
  1. worker进程工作数设置,一般来说CPU有几个,就设置几个,或者设置为N-1也行
	worker_processes 1; 
  1. nginx 日志级别 debug | info | notice | warn | error | crit | alert | emerg ,错误级别从左到右越来越大
  2. 设置nginx进程 pid
	pid logs/nginx.pid; 
  1. 设置工作模式
	events { 
		# 默认使用epoll 
		use epoll; 
		# 每个worker允许连接的客户端最大连接数 
		worker_connections 10240; 
	} 
  1. http 是指令块,针对http网络传输的一些指令配置
	http {
	
	} 
  1. include 引入外部配置,提高可读性,避免单个配置文件过大
	include mime.types; 
  1. 设定日志格式, main 为定义的格式名称,如此 access_log 就可以直接使用这个变量了
参数名参数意义
$remote_addr客户端ip
$remote_user远程客户端用户名,一般为:’-’
$time_local时间和时区
$request请求的url以及method
$status响应状态码
$body_bytes_send响应客户端内容字节数
$http_referer记录用户从哪个链接跳转过来的
$http_user_agent用户所使用的代理,一般来时都是浏览器
$http_x_forwarded_for通过代理服务器来记录客户端的ip
  1. sendfile 使用高效文件传输,提升传输性能。启用后才能使用 tcp_nopush ,是指当数据表累积一定大小后才发送,提高了效率。
	sendfile on; 
	tcp_nopush on;
  1. keepalive_timeout 设置客户端与服务端请求的超时时间,保证客户端多次请求的时候不会重复建立新的连接,节约资源损耗。
	#keepalive_timeout 0; 
	keepalive_timeout 65;
  1. 启用压缩,html/js/css压缩后传输会更快
	gzip on;
  1. server模块
    可以在http指令块中设置多个虚拟主机
参数名参数意义
llisten监听端口
server_namelocalhost、ip、域名
location请求路由映射,匹配拦截
root请求位置
index首页设置
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Escape2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值