LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

别再直接用IP访问点晴MIS系统网站了!Nginx反向代理+负载均衡大白话入门

zhenglin
2026年9月3日 11:27 本文热度 26523

我在 Windows Server 服务器 IIS 网站管理器上安装了两套点晴MIS系统,分别跑在8080和8081端口。

现在前端要对接接口,总不能让人家写两个后端地址吧?而且两个网站怎么分摊流量啊?

还有网站图片、前端页面,放IIS里加载巨慢,听说Nginx能搞定,可我看配置文件全是懵的。

这反向代理、负载均衡到底是啥?小白管理员该怎么快速上手啊?

相信很多第一次做点晴MIS系统项目部署的同学都有这个困惑。

Nginx作为后端开发必备的运维工具,看着配置项多,其实核心功能就那几个。

今天咱们用大白话讲透,看完你也能配出能直接用的反向代理和负载均衡。

 先讲个前台小姐姐的类比 

把Nginx想象成公司的前台接待,所有外来请求,都先经过前台这一关。

反向代理是什么?
有人来找技术部办事,前台不会告诉他技术部在几楼几号房间,直接把人领过去。
对外只暴露前台这一个入口,后端部门的地址、数量全藏起来,既安全又统一。
对应到项目里:用户只访问域名,Nginx负责把请求转到对应的后端服务,后端真实的IP和端口完全不对外暴露。

负载均衡是什么?
技术部开了两个办事窗口,都能处理同样的业务。
前台不会把所有人都塞到1号窗口,而是按顺序均匀分配,两个窗口一起干活。
对应到项目里:多个后端实例同时运行,Nginx把请求分摊过去,既提升了整体处理能力,又不会因为一个实例挂掉导致全站不可用。

静态资源托管是什么?
有人来要公司宣传册、办事表单这些固定资料,前台直接从抽屉里拿给你,不用再跑去找技术部。
对应到项目里:HTML页面、图片、CSS、JS这些固定文件,直接交给Nginx返回,不用走后端服务,速度快还能减轻后端压力。

一个Nginx,同时干了入口转发、流量分摊、静态文件返回三件事,这就是它为啥能成为部署标配。

 核心用法:3套配置直接抄 

Nginx的核心配置都在nginx.conf文件里,新手只需要改http模块内的内容就行。
下面三套配置,分别对应三个核心功能,照着改地址和路径就能用。

1. 反向代理后端项目

最基础的用法:用一个域名,把所有的请求,转发到后端IIS服务网站。

server {

    listen       80;           # 监听80端口,默认HTTP访问端口

    server_name  oa.yourdomain.com;  # 你的域名或服务器公网IP

    # 所有的请求,都转发给后端

location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; # 超时时间优化 proxy_connect_timeout 120s; proxy_read_timeout 120s; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; # 传递原始协议(http/https) proxy_set_header X-Forwarded-Host $host; # 传递原始域名 proxy_set_header X-Forwarded-Port $server_port; # 传递原始端口 # 新增:缓冲区控制 proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 4k; proxy_busy_buffers_size 8k; # 新增:压缩传输 gzip on; gzip_types text/plain text/css application/json application/javascript; }

}

配完之后,用户访问oa.yourdomain.com,Nginx就会自动转到后端127.0.0.1:8080接口,前端完全不用关心后端真实地址。

2. 多实例负载均衡

如果后端启了多个网站实例,加个upstream就能实现负载均衡,默认轮询分配请求。

# 定义后端服务器组,名字可自定义

upstream backend_app {

    server 127.0.0.1:8080;  # 第一个后端网站实例

    server 127.0.0.1:8081;  # 第二个后端网站实例

}


server {

    listen       80;

    server_name  oa.yourdomain.com;


    location / {

        # 转发到服务器组,自动实现负载均衡

        proxy_pass http://backend_app/;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Host $host;

    }

}

默认是轮询模式,两个实例一人处理一个请求。
想让配置更高的服务器多扛流量,在地址后面加weight=2,就会按权重比例分配。

3. 静态资源托管

把前端页面、图片这些固定文件放服务器上,交给Nginx直接返回,速度比走后端快好几倍。

server {

listen       80;

server_name  oa.yourdomain.com;


# 缓存静态资源:所有/images开头的请求,直接读取本地文件

location ~* \.(jpg|jpeg|png|gif|ico|css|js|htm|html)$ {

# 添加代理指令

proxy_pass http://127.0.0.1:8080;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $remote_addr;


# 缓存设置

expires 15d;

add_header Cache-Control "public";

access_log off;

}


location / {

proxy_pass http://127.0.0.1:8080;

proxy_http_version 1.1;

# 超时时间优化

proxy_connect_timeout 120s; # 从360s降为120s

proxy_read_timeout 120s; # 从360s降为120s

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_set_header X-Forwarded-Proto $scheme; # 传递原始协议(http/https)

proxy_set_header X-Forwarded-Host $host; # 传递原始域名

proxy_set_header X-Forwarded-Port $server_port; # 传递原始端口

# 新增:缓冲区控制

proxy_buffering on;

proxy_buffer_size 4k;

proxy_buffers 8 4k;

proxy_busy_buffers_size 8k;

# 新增:压缩传输

gzip on;

gzip_types text/plain text/css application/json application/javascript;

}

}

配完之后,访问oa.yourdomain.com/mis/images/goods.jpg,Nginx会直接去本地目录找图片返回,完全不占用后端资源。

 3个新手必踩的坑 

坑一:proxy_pass末尾的斜杠,加错就全404

这是新手最高发的坑,没有之一。
proxy_pass http://127.0.0.1:8080 和 http://127.0.0.1:8080/ 只差一个斜杠,转发结果完全不一样。

同样访问/api/user/list

没加斜杠:转发到后端是/api/user/list,保留了前缀
加了斜杠:转发到后端是/user/list,把/api前缀替换掉了

很多人配完接口全404,查半天就是这个斜杠的问题。
正确做法:先确认后端接口路径要不要前缀,配完一定要用工具测一遍,别想当然。

坑二:负载均衡不做故障转移

很多人配完两个服务器地址就觉得完事了。
万一其中一个实例挂了,Nginx还是会往上面发请求,结果一半用户请求报错,还找不到原因。

正确做法:给每个server节点加上失败重试配置:

server 127.0.0.1:8080 max_fails=2 fail_timeout=30s;

意思是30秒内失败2次,就暂时认为这个节点不可用,接下来30秒不再往上面发请求,自动跳过坏节点。

坑三:静态资源路径配错,404/403满天飞

新手配静态资源,经常要么404找不到文件,要么403没权限。
常见原因两个:一是clicksun路径写错,目录层级对不上;二是Windows服务器上Nginx没有文件目录的读取权限。

正确做法

先用root指令,路径写到静态资源的上级目录,别把文件名写进去
给服务器上的静态文件目录加上读取权限,别随便用root用户乱放文件
静态资源一定要加缓存过期时间,既能提速又能减轻服务器压力

 总结一下 

今天把Nginx最常用的三个核心功能都讲透了。

核心作用
反向代理做统一入口、隐藏后端;负载均衡分摊流量、提升可用性;静态资源托管加速访问、减轻后端压力。

核心配置
一套反向代理、一套负载均衡、一套静态资源托管,基本能覆盖90%的中小项目部署需求。

三个必避坑
注意proxy_pass的斜杠、给负载均衡加故障转移、静态资源对齐路径加权限。

九层之台,起于累土。
每一个看似基础的运维技能,都是后端成长路上的必经之路。慢慢来,你也能一步步吃透。


该文章在 2026/9/3 12:44:22 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-1  粤公网安备44030602007207号