- 什么是反向代理?
- Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。
- 配置文件逐个介绍
- 启动[双击 nginx.exe]
- 一闪而过, 后台运行, 在任务管理器后台进程中查找nginx是否在运行。
- 默认端口为80
- 默认代理的是本地服务
- server.server_name = localhost
- 配客户端发送请求的路径,这里"/"代表所有请求的路径都能匹配。
- 请求别匹配到后,会在这个文件夹内寻找相应的文件,root对后面静态资源的处理很重要。
- 如果代理没有指定主页,将默认进入index配置下寻找主页,可以配置多个,第一个主页找不到,访问第二个,以此类推。
- 代表发生错误后进入的相关错误页面,下面的location也是处理错误的相关配置。
- 目录
- 配置文件
- nginx-1.20.1/conf/nginx.conf
- 配置文件中,一个server相当于一个代理服务器,可以配置多个server。
- 日志文件
- SUCCESS: nginx-1.20.1/logs/access
- ERROR: nginx-1.20.1/logs/error
- 三大功能
- 反向代理
- Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略,如图设置好后不同的请求就可以走不同的服务器。
- 负载均衡
- 多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。
- 常用的策略有:轮询(默认)、权重、随机
- 动静分离
- 常用于前后端分离,Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。
- Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。
- 静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。
- 反向代理Tomcat
- Tips
- nginx支持热部署,nginx只是起到了转发的作用。
- Nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass【怕啦申 怕死】指令,只需要修改配置文件就可以实现反向代理。配置前的准备工作,后端跑apache服务的ip和端口,也就是说可以通过http://ip:port能访问到你的网站。
- 百度百科解释:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
- nginx配置文件
| |
| server { |
| listen 81; |
| server_name localhost; |
| location / { |
| root index; |
| index index.html index.htm; |
| } |
| error_page 500 502 503 504 /50x.html; |
| location = /50x.html { |
| root html; |
| } |
| } |
| |
| |
| server { |
| listen 80; |
| server_name www.lishaojun.com; |
| location / { |
| root cart; |
| index cart.html; |
| } |
| } |
| server { |
| listen 80; |
| server_name abc.lishaojun.com; |
| location / { |
| root search; |
| index search.html; |
| } |
| } |
| |
| |
| |
| upstream tomcat-travel { |
| server 192.168.177.129:8080; |
| server 192.168.177.129:8081 weight=2; |
| server 192.168.177.129:8082; |
| } |
| server { |
| listen 80; |
| server_name www.lishaojun.com; |
| location / { |
| |
| proxy_pass http: |
| index index.html index.htm; |
| } |
| error_page 500 502 503 504 /50x.html; |
| location = /50x.html { |
| root html; |
| } |
| } |
- 参考于[春风化作秋雨]的博客:点击跳转
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~