Nginx知识架构
- Nginx基础知识
- Nginx架构基础
- 详解HTTP模块
- 反向代理与负载均衡
- Nginx的系统层性能优化
- 从源码视角深入使用Nginx与OpenResty
Nginx的三个主要应用场景:
- 静态资源服务:通过本地系统提供服务
- 反向代理服务:Nginx的强大性能 缓存 负载均衡
- API服务:OpenResty
Nginx为什么会出现?
- 互联网的数据量快速增长:互联网的快速普及 全球化 物联网
- 摩尔定律:CPU性能提升,本世纪初,摩尔定律在单核CPU失效,操作系统和软件没有做好服务多核架构准备,导致CPU系统提升没有带来服务性能的提升
- 低效的Apache:一个连接对应一个进程
Nginx的核心优点:
- 1、高并发,高性能,高吞吐量
- 2、可扩展性好
- 3、高可靠性
- 4、热部署
- 5、BSD许可证
Nginx的组成:
- 1、Nginx二进制可执行文件,由各模块源码编译出的一个文件
- 2、Nginx.conf配置文件,控制Nginx的行为
- 3、access.log访问日志,记录每一条http请求信息
- 4、error.log错误日志,定位问题
Nginx版本:
- 开源免费的Nginx
- 商业版Nginx Plus
- 阿里巴巴的Tengine
- 免费OpenResty
- 商业版OpenResty
安装Nginx:
- 1、自动安装,yum或者apt-get安装,自动安装不能江第三方模块安装进来,推荐编译安装
- 2、编译安装
在Nginx解压目录下执行
./configure --prefix=PATH #PATH为安装路径
make
make install #首次安装执行
Nginx语法:
- 1、配置文件由指令与指令快构成
- 2、每条指令以 ;分号结尾,指令与参数间以空格符号分割
- 3、指令块以 { } 大括号将多条指令组织在一起
- 4、include语句允许组合多个配置文件以提升可维护性
- 5、使用#符号添加注释,提高可读性
- 6、使用$符号使用变量
- 7、部分指令的参数支持正则表达式
配置参数:时间的单位
时间字符 | 含义 |
---|---|
ms | milliseconds |
s | seconds |
m | minutes |
h | hours |
d | days |
w | weeks |
M | months, 30 days |
y | yesrs, 365 days |
配置参数:空间的单位
空间字符 | 含义 |
---|---|
default | bytes |
k/K | kilobytes |
m/M | megabytes |
g/G | gigabytes |
Nginx命令行:
- 1、格式:nginx -s reload
- 2、帮助:-? -h
- 3、使用指定的配置文件:-c
- 4、指定配置指令: -g
- 5、指定运行目录: -p
- 6、发送信号: -s stop/quit/reload/reopen 立刻停止服务/优雅的停止服务/优雅的重载配置文件/重新开始记录日志文件
- 7、测试配置文件是否有语法错误:-t -T
- 8、打印nginx的版本信息、编译信息等: -v -V