Nginx信号与虚拟主机管理详解
需积分: 0 185 浏览量
更新于2024-08-04
收藏 25KB DOCX 举报
"nginx进阶vip - 第二课笔记1"
在深入探讨Nginx的进阶知识之前,让我们先回顾一下课程中提到的基础概念。`kill`命令是Linux系统中用于向进程发送信号的工具,而在Nginx的管理中,我们可以使用不同的信号来控制Nginx的行为:
1. **TERM** 或 **INT** 信号:这两个信号用于快速关闭Nginx,但不保证所有请求都能被优雅地处理完毕。通常在需要立即停止服务时使用。
2. **QUIT** 信号:此信号允许Nginx从容关闭,即在处理完当前请求后再停止服务,确保了服务的平滑过渡。
3. **HUP** 信号:平滑重启Nginx,用于重新加载配置文件。这在更新配置时非常有用,因为Nginx会启动新的工作进程并关闭旧的,避免服务中断。
4. **USR1** 信号:Nginx接收到此信号后,会重新打开日志文件,这对于在不停止服务的情况下轮换日志很有帮助。
5. **USR2** 信号:用于平滑升级Nginx的可执行程序,这样可以在不影响现有连接的情况下升级到新版本。
在昨天的作业中,我们看到一个`location`块的配置示例,用于URL重写和文件路由:
```nginx
location /rout {
rewrite ^/rout/(.*)/static/$1.html break;
root html/;
index index.html index.htm;
}
```
这里,`rewrite`指令用于将URL `/rout/.../static/` 重写为 `/rout/.../static.html`,然后通过`root`指令设置文档根目录为`html/`,并使用`index`指令指定默认索引文件。
课程中提到了`curl`命令,这是一个在Linux中发出HTTP请求的工具,可以用来测试和诊断服务器响应。例如,你可以用`curl`来查看Nginx服务器上特定URL的返回值。
接着,我们讨论了Nginx中的虚拟主机概念。虚拟主机是一种技术,它允许在单一的物理服务器上创建多个看似独立的服务器,每个都有自己的域名、邮箱服务器和Web服务。这种方式极大地节省了资源,并简化了多站点管理。
Nginx支持三种类型的虚拟主机配置:
1. **基于域名的虚拟主机**:通过不同的服务器名称(如`server_name`)来区分,如示例所示,监听80端口,对应`abc.com`域名。
2. **基于端口的虚拟主机**:通过监听不同的端口来区分,如示例中的服务器监听2022端口,同样对应`abc.com`域名。
3. **基于IP地址的虚拟主机**:服务器监听特定的IP地址,如示例中的服务器监听192.168.167.142 IP地址。
在Nginx配置中,`location`指令是路由请求的关键。其基本语法包含多种匹配模式:
1. `=`开头的匹配表示精确匹配,一旦找到匹配,不再继续查找。
2. `^~`开头的匹配表示普通字符串匹配,但一旦匹配成功,不会考虑正则表达式。
3. 正则表达式匹配:使用`~`(区分大小写)或`~*`(不区分大小写)进行正则匹配,按照配置文件中的顺序进行尝试。
4. 最后,如果没有其他匹配,`/`会被作为默认的通用匹配。
当一个`location`规则被匹配时,Nginx将根据这个规则处理请求,不会继续寻找其他可能的匹配。这就是Nginx高效路由请求的关键所在。
总结来说,本节课涵盖了Nginx管理、信号控制、URL重写、虚拟主机配置以及`location`规则的使用。这些都是Nginx高级应用的重要组成部分,对于优化和管理多站点环境至关重要。
304 浏览量
710 浏览量
1345 浏览量
113 浏览量
2022-08-08 上传
578 浏览量
2023-03-09 上传
168 浏览量
678 浏览量
图像车间
- 粉丝: 38
- 资源: 296
最新资源
- HUMmer-开源
- README-Generator
- 自定义基于接口,实体类注解脱敏
- XYCMS留言板 v7.4
- flutter-rechargeApp-md5-674a298f5659de080bb22ea002de4fbf
- RRT轨迹规划算法matlab程序
- calculator
- 在Rust中从头开始克隆SQLite-Rust开发
- Tnotes_app:任务和笔记Flutter应用
- 计算机辅助几何设计与非均匀有理B样条 修订版 实例 教程 软件
- 基于JAVASwing的贪食蛇小游戏 键盘事件监听 多线程 文件IO 自取
- js-programming-assignment-1-APozin558:教室为GitHub创建的js-programming-assignment-1-APozin558
- Download Accelerator Plus v10.0.0.6 Alpha
- PDS-Movie-Competition
- SilexStarter-GanttModule
- ta-技术分析库。 实施指标数量:EMA,SMA,RSI,MACD,随机指标等-Rust开发