Nginx配置

本文介绍了Nginx的基本架构及配置方法,包括如何启动、停止和服务管理等基础操作,详细解析了配置文件的指令与上下文,以及如何设置虚拟主机、工作进程、连接数、缓存策略和超时时间等关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础
基本的 nginx 体系结构由 master 进程和其 worker 进程组成。master 读取配置文件,并维护 worker 进程,而 worker 则会对请求进行实际处理。
启动nginx,只需输入
[sudo]nginx
[sudo]nginx -s signal
stop–快速关闭
quit–优雅关闭 (等待 worker 线程完成处理)
reload–重载配置文件
reopen–重新打开日志文件

nginx的配置文件
指令–可选项,包含名称和参数,以分号结尾
gzip on;
上下文 – 分块,你可以声明指令 – 类似于编程语言中的作用域
worker_processes 2; # 全局上下文指令
http {              # http 上下文
  gzip on;          # http 上下文中的指令
  server {          # server 上下文
    listen 80;      # server 上下文中的指令
  }
}
指令类型
行动指令
行动是改变事情的指令。根据模块的需要,它继承的行为可能会有所不同。
例如 rewrite 指令,只要是匹配的都会执行
return 指令提供的是不同的行为

Nginx 将会按照下列顺序选择虚拟主机:
匹配sever_name指令的IP-端口主机
拥有default_server标记的IP-端口主机
首先定义的IP-端口主机
如果没有匹配,拒绝连接。

root 指令:root 指令设置请求的根目录,允许 nginx 将传入请求映射到文件系统。
server {
  listen 80;
  server_name netguru.co;
  root /var/www/netguru.co;
}

Nginx提供了一些修饰符,可用于连接 location。这些修饰符将影响 location 模块使用的地方,因为每个修饰符都分配了优先级。
=           - Exact match
^~          - Preferential match
~ && ~*     - Regex match
no modifier - Prefix match
Nginx 会先检查精确匹配。如果找不到,我们会找优先级最高的。如果这个匹配依然失败,正则表达式匹配将按照出现的顺序进行测试。至少,最后一个前缀匹配将被使用。

工作进程、连接数

worker_processes  auto; #工作进程数量,默认是1,最安全的设置是auto

worker_connections  1024; #与worker_processes直接绑定。它指定一个工作进程可以一次打开多少个连接。
worker_rlimit_nofile 2048; #linux系统改变系统最大打开文件数

最大连接数

最大连接数=worker_processes*worker_connections/(keep_alive_timeout+avg_response_time)*2 

#keep_alive_timeout+avg_response_time:表示单个连接持续了多久

gzip

gzip 启动后响应更快,有不同的压缩级别从1-9,一般选择3-5,0代表未压缩
gzip_http_version 1.1; #nginx仅在HTTP1.1以上的版本才使用gzip。
缓存
add_header Cache-Control public; #HTTP1.1中使用Cache-Control管理缓存
add_header Pragma public; #Pragma对于HTTP1.0客户端的向后兼容
超时
client_body_timeout 12; #client_body_timeout 和 client_header_timeout 定义了 nginx 在抛出 408(请求超时)错误之前应该等待客户端传输主体或头信息的时间。
client_header_timeout 12;
send_timeout 10; #设置向客户端发送响应的超时时间,超时仅在两次连续的写入操作之间被设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值