[Nginx]Nginx应用基础
2023-03-06 本文已影响0人
AbstractCulture
静态资源服务
通过本地文件系统提供服务
反向代理
- Nginx基于NIO带来的强大性能
- 缓存
- 负载均衡
为什么需要反向代理,因为随着微服务的推行,应用会进行集群化部署,这就需要在代理端进行负载均衡和动态路由等功能
API服务
- OpenResty
Nginx的组成
Nginx二进制可执行文件
由各模块源码编译出的一个文件
Nginx.conf配置文件
控制Nginx的行为
access.log访问日志
记录每条http请求信息
error.log错误日志
定位问题
启动nginx
这里不展示nginx的安装繁琐过程,笔者选用的是docker直接容器启动并且挂载文件的方式.具体的docker挂载目录如下:
image.pngNginx基础语法
http {
upstream myserver {
ip_hash;
server 192.168.37.139:8801 weight=1;
server 192.168.37.139:8802 weight=1;
#down 不参与负载均衡
#weight=5; 权重,越⾼分配越多
#backup; 预留的备份服务器
#max_fails 允许失败的次数
#fail_timeout 超过失败次数后,服务暂停时间
#max_coons 限制最⼤的接受的连接数
}
server {
location / {
proxy_pass http://myserver;
proxy_connect_timeout 10;
}
}
}
- 配置文件由指令与指令块构成,例如:
http{
//...
}
- 每条指令以
;
分号结尾,指令与参数间以空格符号分隔. - 指令块以
{}
大括号将多条指令组合在一起. - include语句允许组合多个配置文件.
- 需要注释时,采用
#
. - 使用
$
符号使用变量. - 部分指令的参数支持正则表达式.
配置参数-时间
名称 | 含义 |
---|---|
ms | millliseconds |
s | seconds |
m | minutes |
h | hours |
d | days |
w | weeks |
M | months,30 days |
y | years,365 days |
配置参数-空间
名称 | 含义 |
---|---|
bytes | bytes |
k/K | kilobytes |
m/M | megabytes |
g/G | gigabytes |
http配置的指令块
- http
- server
域名,可以是一个,可以是一组
- upstream
上游服务,需要跟tomcat打交道的时候可以配置一个upstream.
upstream tomcat{
server 127.0.0.1:8080;
}
- location
代表的是url资源
location /api {
proxy_pass http://myserver;
proxy_connect_timeout 10;
}
nginx命令行
比如重新加载nginx配置:
nginx -s reload
需要查看指令目录或者帮助:
nginx -h
指定配置文件启动:
nginx -c
指定配置指令:
nginx -g
指定目录运行:
nginx -p
发送信号:
nginx -s stop/quit/reload/reopen
验证配置文件是否有语法错误:
nginx -t/-T
打印nginx的版本信息等:
nginx -v
- 使用nginx做日志切割
假设每天都需要备份一份日志出来,这个时候你可能需要用到日志切割.
cd /var/log/nginx
mv access.log bak.log
../etc/nginx -s reopen
可以让运维写一个定时任务脚本,自动做日志切割.