文章目录
1. 环境
ubuntu服务器
nginx 版本: nginx/1.13.7
2. 想要效果描述(知道自己要干什么)
同一个资源访问链接,通过nginx负载到多个服务处理。
比如:
用户有三十次请求同一个资源,通过nginx负载均衡配置,请求均衡分发到三台服务器上处理。
需要做的效果是:浏览器访问同一个资源,资源展示的是俩台服务器响应回来的资源。
3. 准备(知道自己需要什么)
- 需要nginx服务
- nginx配置需要改为反向代理配置
- 俩个tomcat服务,8080和8081
- 每个tomcat下webapp文件夹,tomcat 8080新建apa1和tomcat 8081新建apa1
在apa1文件夹下新建文件a.html
4. 操作(重要文件需要备份)
4.1 启动nginx服务
# 启动nginx服务
nginx
4.2 修改nginx配置文件
# 1. 备份配置文件
cp nginx.conf nginx.conf.back
# 2. 修改配置文件
vim nginx.conf
配置文件部分内容修改
upstream myserver {
server localhost:8080;
server localhost:8081;
}
server {
listen 80;
server_name localhost;
location ~ /apa1/ {
root html;
proxy_pass http://myserver;
index index.html index.htm;
}
}
均衡策略:
1、轮询(默认):每个请求按时间访问顺序依次分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight(权重):weight代表权重默认为1,权重越高被分配的客户端越多。
3、ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定一个后端服务器,可以解决session的问题。
4、fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4.3 新建资源a.thml
- tomcat下webapps中,新建文件夹apa1
mkdir apa1
- 在apa1文件夹下,新建文件a.html
# 新建a.html
vim a.html
a.html内容为:
# tomcat 8080下a.html内容为
<h1>tomcat 8080</h1>
# tomcat 8081下a.html内容为
<h1>tomcat 8081</h1>
5. 验证(与预期是否符合)
多次访问:http://xxxxx.top/apa1/a.html