文章目录
一,Nginx认识
1.简介
Nginx:轻量级web服务器/反向代理服务器,常用于反向代理/负载均衡。
Nginx只处理静态内容,动态内容交给后台Tomcat处理,
通过nginx反向代理多个后端tomcat服务器,前端只需访问nginx反向代理ip,
在upstream 中配置了多个tomcat ip,可实现负载均衡的轮询/热备 backup两种轮询方式。
2.作用
1.正向代理: 客户端 代理服务器 原始服务器(比如Google)
*代理的是客户端
客户端可访问到代理服务器,代理可访问到原始服务器,通过代理就可访问到Google
客户端很明确要访问Google,通过代理可以访问到
2.反向代理: 客户端 代理服务器 原始服务器(比如Google)
*代理的是服务器
客户端访问百度,百度不存在该页面,百度就从其他服务器查询到数据返回给用户
客户端就只需知道代理服务器(百度),则隐藏了百度身后的原始服务器
3.负责均衡:将请求/数据【均匀】分摊到多个操作单元上执行
核心: 均衡的分摊压力
3.nginx在win上运行
解压后,运行“nginx.exe”,可能会闪退
参考:windows下nginx启动一闪而过(原因以及查看和解决的办法)
Windows下如何查看某个端口被谁占用
打开命令窗口window+R
查找所有运行的端口,命令:netstat -ano
查看被占用端口对应的PID,命令:netstat -aon|findstr “80”
查看指定 PID 的进程,命令:tasklist|findstr “3720”
强制(/F参数)杀死 pid 为 3720 的所有进程包括子进程(/T参数):
taskkill /T /F /PID 3720
或者打开任务管理器,切换到进程选项卡,在PID一列查看3720对应的进程是谁,手动结束
二,Nginx配置文件详解
1.Nginx配置文件详解
1.全局快
#user nobody;//user是个主模块指令,指定Nginx Worker进程运行用户以及用户组,默认由nobody账号运行。
worker_processes 1;//worker_processes是个主模块指令,指定了Nginx要开启的进程数。
#error_log logs/error.log;//error_log是个主模块指令,用来定义全局错误日志文件。日志输出级别
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;//pid是个主模块指令,用来指定进程pid的存储文件位置。
2.events块
//events事件指令是设定Nginx的工作模式及连接数上限
events {
worker_connections 10240;//用于定义Nginx每个进程的最大连接数,默认是1024
}
3.http块
- http块
嵌套多个server
配置反向代理功能提供负载均衡支持 - server块
配置虚拟主机的相关参数 - location块
请求URL过滤,支持正则匹配
重定向配置参考连接:
参考:Nginx配置Https访问,tomcat无法正确获取schema的问题
参考:nginx配置中proxy_redirect的作用
http {
include mime.<