Linux配置nginx负载均衡

本文档详细介绍了如何配置Nginx负载均衡服务器,包括设置三台服务器的环境,开启Nginx,编辑配置文件实现负载均衡,以及在后端服务器A和B上配置不同的响应内容。最后通过测试确保负载均衡正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、配置环境(需要三台服务器)

负载均衡服务器(主)192.168.43.130

后端服务器A                192.168.43.131

后端服务器B                 192.168.43.132

2、开启Nginx:/usr/local/nginx/sbin/nginx

查看端口:lsof -i :80

关闭selinux:/etc/selinux/config

修改配置文件:将SELINUX=ebforcing改为SELINUX=disabled
  getenforce #查看selinux状态
  关闭selinux:
  临时关闭(不用重启机器):setenforce 0

3、编辑负载均衡服务器配置文件

cd /usr/local/nginx/conf
 
cp nginx.conf nginx.conf.bak //养成良好习惯,备份一个配置文件
 
vim nginx.conf
 
在http{}模块里添加以下内容
 
upstream webServer {
  server 192.168.43.131:80; 
  server 192.168.43.132:80; 
}
server{
listen 80;
server_name 192.168.43.130;
location / {
  index  index.html index.htm;
  proxy_pass http://webServer; 
}
}

4、检查语法并重启

/usr/local/nginx/sbin/nginx -t 

/usr/local/nginx/sbin/nginx -s reload 

5、配置后端服务器A

cd /usr/local/nginx/html/
 
cp index.html  index.html.bak 备份配置文件
 
vim index.html

进入配置文件之后清空里面的所有配置
 
添加下面的语句:
 
<h>Welcome to serverA<h>
 
保存退出

检查语法并重启
 
/usr/local/nginx/sbin/nginx -t
 
/usr/local/nginx/sbin/nginx -s reload

进入浏览器输入IP测试是否成功

6、配置后端服务器B

cd /usr/local/nginx/html/
 
cp index.html  index.html.bak 备份配置文件
 
vim index.html

进入文件后清空里面的所有配置
 
添加下面的语句:
 
<h>Welcome to serverB<h>
 
保存退出

检查语法并重启
 
/usr/local/nginx/sbin/nginx -t
 
/usr/local/nginx/sbin/nginx -s reload 

三、测试负载均衡

负载均衡服务器中测试,也可以反向测试。

curl 192.168.43.130

 测试成功!!!!

### 配置Nginx作为反向代理实现Tomcat集群的负载均衡 #### 安装必要的软件包并启动服务 为了使Nginx能够正常工作,在Linux环境下需先确保已安装所需的开发工具和库文件。对于Ubuntu系统,可以使用如下命令来完成这些操作: ```bash sudo apt-get update && sudo apt-get install nginx tomcat8 -y ``` 这一步骤会自动下载并安装最新版本的Nginx以及Tomcat。 #### 修改Tomcat配置文件 编辑`/usr/local/tomcat8/conf/server.xml` 文件以调整Tomcat实例的相关参数[^3]。此过程可能涉及更改AJP端口或其他特定于应用的需求设定。 #### 编辑Nginx配置文件 打开Nginx的主要配置文件 `/etc/nginx/nginx.conf` 或者创建一个新的站点配置文件位于 `/etc/nginx/sites-available/default` 中加入以下内容用于定义上游服务器组(即多个Tomcat节点),并通过upstream指令指定它们之间的分配策略: ```nginx http { upstream mytomcats { # 使用轮询方式分发请求给不同的Tomcat实例 server localhost:8080; server localhost:8081; server localhost:8082; # 可选:设置其他类型的调度算法比如最少连接数或加权轮询等 # least_conn; # 最少连接数模式 # ip_hash; # IP哈希模式保持客户端粘滞性 } server { listen 80; server_name localhost; location / { proxy_pass http://mytomcats/; proxy_set_header Host $host; proxy_set_header X-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } ``` 上述配置中通过 `upstream` 指令指定了三个本地运行着不同端口上的Tomcat实例组成的集群,并采用默认的轮询方式进行流量转发[^1]。如果希望实施更复杂的平衡机制如最少连接数(`least_conn`)或是基于用户的持久化会话支持(`ip_hash`)也可以相应地替换掉注释部分的内容。 #### 测试与验证 保存所做的更改之后重启Nginx服务使其生效: ```bash sudo systemctl restart nginx.service ``` 此时应该可以通过浏览器访问由Nginx管理下的Tomcat集群所提供的Web应用程序了。要确认一切运作良好,可利用类似ab(Apache Bench)这样的性能测试工具来进行压力测试观察响应时间和成功率指标是否满足预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值