Linux ❀ Nginx负载均衡配置参数详解
Posted 国家级干饭型选手°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ❀ Nginx负载均衡配置参数详解相关的知识,希望对你有一定的参考价值。
1、部署前准备工作
将反向代理的案例进行延伸,分别配置8080端口与8081端口下的Tomcat服务,在webapps目录下创建edu目标,并配置test.html文件内容,产生特异性标识,以便后续进行测试;
[root@localhost ~]# mkdir /tmp/tomcat8081/apache-tomcat-9.0.54/webapps/edu
[root@localhost ~]# echo '<h1>test server A port is 8080 !!!</h1>' > /tmp/tomcat8080/apache-tomcat-9.0.54/webapps/edu/test.html
[root@localhost ~]# echo '<h1>test server B port is 8081 !!!</h1>' > /tmp/tomcat8081/apache-tomcat-9.0.54/webapps/edu/test.html
#检测Tomcat服务是否开启;
[root@localhost ~]# ps -ef | grep -w tomcat
root 2844 1 0 01:03 ? 00:00:11 /usr/bin/java -Djava.util.logging.config.file=/tmp/tomcat8080/apache-tomcat-9.0.54/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tmp/tomcat8080/apache-tomcat-9.0.54/bin/bootstrap.jar:/tmp/tomcat8080/apache-tomcat-9.0.54/bin/tomcat-juli.jar -Dcatalina.base=/tmp/tomcat8080/apache-tomcat-9.0.54 -Dcatalina.home=/tmp/tomcat8080/apache-tomcat-9.0.54 -Djava.io.tmpdir=/tmp/tomcat8080/apache-tomca-9.0.54/temp org.apache.catalina.startup.Bootstrap start
root 2881 1 0 01:03 ? 00:00:11 /usr/bin/java -Djava.util.logging.config.file=/tmp/tomcat8081/apache-tomcat-9.0.54/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tmp/tomcat8081/apache-tomcat-9.0.54/bin/bootstrap.jar:/tmp/tomcat8081/apache-tomcat-9.0.54/bin/tomcat-juli.jar -Dcatalina.base=/tmp/tomcat8081/apache-tomcat-9.0.54 -Dcatalina.home=/tmp/tomcat8081/apache-tomcat-9.0.54 -Djava.io.tmpdir=/tmp/tomcat8081/apache-tomca-9.0.54/temp org.apache.catalina.startup.Bootstrap start
root 4235 3577 0 02:26 pts/0 00:00:00 grep --color=auto -w tomcat
2、配置负载均衡功能
修改nginx配置文件;
[root@localhost ~]# cat /etc/nginx/nginx.conf
http {
~
#负载均衡服务名称myserver可以自定义;
upstream myserver{
#IP:Port 权重值;
server 192.168.174.129:8080;
server 192.168.174.129:8081;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 192.168.174.129;
root /usr/share/nginx/html;
location / {
proxy_pass http://myserver;
#跳转到负载均衡服务;
}
~
}
#重启Nginx服务;
[root@localhost ~]# systemctl restart nginx
验证负载均衡功能;
刷新页面即可跳转到另一个端口;
3、负载均衡支持算法
(1)轮询
每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器down机,则自动进行删除;
upstream myserver{
server 192.168.174.129:8080;
server 192.168.174.129:8081;
}
(2)加权轮询
weight代表权重值,默认为1,权重值越高的服务器被分配的请求数量就越多;
权重值为比值,非数值
upstream myserver{
server 192.168.174.129:8080 weight=1;
server 192.168.174.129:8081 weight=3;
}
(3)ip_hash
每个请求按照访问IP的hash值结果进行分配,只要IP不被改变即同一台服务器进行响应;
upstream myserver{
ip_hash;
server 192.168.174.129:8080;
server 192.168.174.129:8081;
}
(4)fair
按照服务器的响应时间来分配请求,响应时间越短的优先级越高;
upstream myserver{
server 192.168.174.129:8080;
server 192.168.174.129:8081;
fair;
}
以上是关于Linux ❀ Nginx负载均衡配置参数详解的主要内容,如果未能解决你的问题,请参考以下文章