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