Nginx0-Nginx常用操作
1,初识Nginx
1-1,Nginx的主要应用场景
- 静态资源服务
- 反向代理服务(集群):缓存加速(访问加速)、负载均衡(动态扩容和容灾)
- API服务(Nginx进行业务处理):OpenResty
1-2,Nginx的优点
- 高并发、高性能:Apache一个进程只能处理一个连接,因此并发数和性能很低;而Nginx可以达到数千万的并发连接,百万RPS的静态资源请求
- 可扩展性好:Nginx采用模块化设计,生态圈很丰富
- 高可靠性:Nginx可长期运行不宕机
- 热部署:可以在不停止服务的情况下升级Nginx
- BSD许可
1-3,Nginx的主要组成部分
- Nginx二进制可执行文件:由各模块源码编译出的一个文件
- Nginx.conf配置文件:控制Nginx的行为
- access.log访问日志:记录每一条http请求
- error.log错误日志:定位问题
1-4,Nginx编译安装
- 使用yum/apt可以直接安装Nginx,但是无法控制第三方模块是否编译到Nginx二进制文件中;为了控制第三方模块的使用,需要进行编译安装。
- 相比而言,openresty使用第三方模块就很简单,即不需要编译openresty,也不需要编译别的什么模块,在nginx.conf里设置一下路径就可以了(就很爽)。
- Nginx的编译步骤:
- 下载Nginx https://nginx.org/
wget https://nginx.org/download/nginx-1.14.2.tar.gz
- 解压缩
tar -zvxf nginx-1.14.2.tar.gz
- nginx在编译的时候可以通过
--with
和--without
选择要编译的模块和不要编译的模块,这可以通过./configure --help
进行查看 ./configure --prefix=/usr/local/nginx
make
make install
- 下载Nginx https://nginx.org/
1-5,Nginx配置文件的通用语法规则
- Nginx各模块遵循相同的语法规则
- 配置文件位置:/usr/local/nginx/conf/nginx.conf
- 配置语法:
配置文件由指令与指令块构成
每条指令以; 分号结尾,指令与参数间以空格符号分隔
指令块以 {} 大括号将多条指令组织在一起
include语句允许组合多个配置文件以提升可维护性
使用#符号添加注释,提高可读性
使用$符号使用变量
部分指令的参数支持正则表达式
时间单位
ms 毫秒
s 秒
m 分钟
h 小时
d 天
w 星期
M 月,30天
y 年,365天
空间单位
字节
k/K
m/M
g/G
http配置的指令块
http 表示所有的指令由http模块进行解析和执行
server 对应域名
location 对应url表达式
upstream 表示上游服务(如需要与tomcat,django进行交互)
1-6,Nginx命令行
- 位置:/usr/local/nginx/sbin
格式:nginx -s reload
帮助:-? -h
使用指定的配置文件:-c
指定配置命令:-g
指定运行目录:-p
发送信号:-s (立即停止服务 stop,优雅停止服务 quit,重载配置文件 reload,重新开始记录日志文件 reopen)
测试配置文件是否有语法错误:-t -T
打印nginx的版本信息、编译信息等:-v -V
2,Nginx架构基础
2-1,
行动是治愈恐惧的良药,而犹豫拖延将不断滋养恐惧。