一、为什么要用 nginx
nginx 是一款功能强大的软件,在互联网领域有广泛应用。简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定。具体而言,使用它的原因如下:
- 性能卓越:能轻松应对大量用户同时访问网站的情况,不会因为访问人数过多而变慢,且占用电脑资源少。
- 负载均衡:可把用户的请求均匀分配到多个服务器上,防止某一台服务器负担过重而崩溃,提高整个系统的处理能力。
- 反向代理:隐藏真实的服务器地址,就像给服务器穿了一层保护衣,增强了安全性。同时还能缓存一些常用的请求内容,减少服务器的压力。
- 动静分离:把网站的静态资源(如图片、css 样式文件等)和动态资源(如需要实时计算的页面)分开处理,加快网站响应速度。
二、windows 系统下 nginx 的配置步骤
1. 下载 nginx
访问 nginx 的官网:http://nginx.org/en/download.html ,在页面中找到稳定版(stable version)的 windows 版本进行下载。稳定版经过大量测试,出现问题的概率较小。

2. 解压文件
把下载好的压缩包解压到一个不包含中文的路径下,比如 d:\nginx。因为有些软件在处理包含中文的路径时可能会出错,这样做能避免因路径问题导致 nginx 启动失败。

3. 配置 nginx 负载均衡
找到 nginx 安装目录下的 conf/nginx.conf 文件,这个文件就像是 nginx 的 “指挥手册”,里面记录了 nginx 的各种运行规则。在 http 块里添加下面的内容:
upstream backend {
# 定义后端服务器列表及权重(weight值越高优先级越高)
server localhost:5001 weight=1; # 服务1
server localhost:5002 weight=5; # 服务2
server localhost:5003 weight=1; # 服务3
}
server {
listen 80; # 监听端口(若80被占用可改为81或其他)
server_name localhost;
location / {
proxy_pass http://backend; # 将请求转发至backend组
proxy_set_header host $host;
proxy_set_header x-real-ip $remote_addr;
}
}
三、启动 nginx
启动 nginx 有两种简单的方法:
- 直接双击
nginx.exe文件。 - 在命令行中输入
start nginx命令。

四、创建 spring boot 项目
1. 新建项目
在 intellij idea 里新建一个 spring boot 项目,spring boot 是一个快速开发 java 应用的框架,能让我们更方便地开发服务器端程序。
pom.xml文件
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelversion>4.0.0</modelversion>
<groupid>org.example</groupid>
<artifactid>nginx</artifactid>
<version>1.0-snapshot</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceencoding>utf-8</project.build.sourceencoding>
</properties>
<parent>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-parent</artifactid>
<version>3.4.3</version>
</parent>
<dependencies>
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-web</artifactid>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-maven-plugin</artifactid>
</plugin>
</plugins>
</build>
</project>

2. 配置启动参数
打开 edit configurations 窗口,点击左边的 + 号,选择 spring boot。


给程序起个名字,比如 nginx5003。

- 点击
modify options,选择add vm options。 - 在
vm options里输入-dserver.port=5001,这是在指定程序运行的端口号。 - 找到项目里包含
main方法的类,这是程序的入口点。

3. 重复操作
按照上面的步骤,再创建 app5002 和 app5003,把 vm options 里的端口号分别改成 5002 和 5003。
五、启动项目
分别启动 app5001、app5002 和 app5003,让它们在各自的端口上运行起来。

六、在 controller 里获取端口号
为了能区分不同端口的响应结果,在 controller 里添加下面的代码:

七、使用 postman 进行测试
打开 postman 这个工具,创建一个新的请求,请求地址填写 http://localhost(如果在 nginx 配置里修改了监听端口,就用相应的端口号)。多次发送请求,观察响应结果里返回的端口号,这样就能验证 nginx 的负载均衡功能是否正常工作了。
通过以上步骤,你就可以在 windows 系统下使用 nginx 实现简单的负载均衡功能。
到此这篇关于windows 系统下 nginx 的配置步骤的文章就介绍到这了,更多相关windows nginx 配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论