1.写在前面
之前的博客完完全全的了解完了网络协议了,今天我们来学习一下Nginx的东西。今天是第一篇Nginx的文章,所以我们先来初始一下Nginx。
2.Nginx 的三个主要应用场景
静态资源服务
- 通过本地文件系统提供服务
反向代理服务
- Nginx的强大性能
- 缓存
- 负载均衡
API服务
- OpenResty
3.Nginx 出现的背景
Nginx 为什么会出现?
互联网的数据量快速增长
- 互联网的快速普及
- 全球化
- 物联网
摩尔定律:性能提升
低效的Apace
- 一个连接对应一个进程
4.Nginx的优点
- 高并发,高性能
- 可扩展性好
- 高可用性
- 热部署
- BSD许可证
5.Nginx的历史的版本
6.Nginx的组成
- Nginx二进制可执行文件
- 由各模块源码编译出的一个文件
- Nginx.conf配置文件
- 控制Nginx的行为
- access.log访问日志
- 记录每一条http请求信息
- error.log错误日志
- 定位问题
7.选择哪一个Nginx发行版本?
开源免费的Nginx与商业版的Nginx plus
阿里巴巴的Tengine
免费的OpenResty 与商业的OpenResty
8.如何编译安装Nginx
由于我的笔记本是Mac,所以这儿只介绍Mac的Nginx的安装,其他的读者可以自行百度。
-
下载对应的Nginx,首先我们需要打开对应的网站https://nginx.org/en/download.html 然后下载对应的Nginx版本
-
执行如下的命令
wget https://nginx.org/download/nginx-1.22.0.tar.gz --no-check-certificate
-
解压,具体的命令如下:
tar -zxvf nginx-1.22.0.tar.gz
-
configure
./configure --prefix=/Users/king/Desktop/nginx #准备安装的路径
-
make
make install
-
启动Nginx
nginx
-
访问浏览器
-
配置全局命令
vim ~/.bash_profile
-
source
source ~/.zshrc #由于笔者这儿配置对应zsh,所以可能是不一样,反正就是source 配置文件
上面大概的给读者介绍完了对应的Nginx安装和配置以及对应的启动。
9.Nginx配置语法
具体的可以参考Nginx官网的配置,具体的网址是:https://nginx.org/en/docs/
- 配置文件由指令和指令块构成
- 每条指令以;分号结尾,指令与参数间空格符号分隔
- 指令块以{}大括号将多条指令组织在一起
- include语句允许组合多个配置文件以提升可维护性
- 使用符号#符号添加注释,提高可读性
- 使用$符号使用变量
- 部分指令的参数支持正则表达式
配置语法举例
配置参数:时间单位
- ms:milliseconds
- s:seconds
- m:minutes
- h:hours
- d:days
- w:weeks
- M:months, 30 days
- y:years, 365 days
配置参数:空间单位
- 默认:bytes
- k/K:kilobytes
- m/M:megabytes
- g/G:gigabytes
http 配置指令块
Nginx命令行
- 格式:nginx -s reload
- 帮助:-?-h
- 使用指定的配置文件:-c
- 指定配置指令:-g
- 指定运行目录:-p
- 发送信号:-s
- 立刻停止服务:stop
- 优雅的停止服务:quit
- 重载配置文件:reload
- 重新开始记录日志文件:reopen
- 测试配置文件是否有语法错误:-t -T
- 打印nginx 的版本信息、编译信息:-v -V
10.Nginx的性能
Nginx握手性能
Nginx数据加密性能
Nginx综合性能
11.写在最后
本篇博客大概的介绍了下Nginx的内容,就是一个简单的初始Nginx