负载均衡:
首先进入linux服务器中的tomcat里面。
上传一个项目放到tomcat的webapps文件夹中。
上传之后进入bin目录,启动tomcat。
打开浏览器,输入服务器的ip地址,查看项目是否能够正常运行。
正常运行之后关掉tomcat,改掉tomcat名字文件名为tomcat8080,并重新解压tomcat压缩包,改名为tomcat9090。
打开tomcat9090中的server.xml文件,其中的三个端口号分别是:
-
8005端口:用 shutdown.sh 关闭 Tomcat 的时候需要用到的端口号,如果此端口没启动,Tomcat 不能用 shutdown 命令关闭。
-
8009端口:是 Tomcat 负责和其他的 HTTP 服务器建立连接的端口,如 Nginx 和 Apache 互通时使用。(AJP/1.3 协议)
-
8080端口:HTTP 访问时使用的端口。(HTTP/1.1 协议)
修改tomcat9090的三个端口号,将它与tomcat8080区分开来。
将tomcat8080的项目删除到tomcat9090文件夹中,并将8080的index.jsp页面的内容改为9090index.jsp。
全部修改完毕之后将tomcat8080和tomcat9090全部启动起来。
启动之后若想查看9090端口的项目,需要先开启防火墙里的9090端口,然后再在阿里云配置安全组。
配置完之后打开浏览器即可访问9090端口的项目。
这时候在两个端口都能够独自运行的情况下,我想通过nginx来实现负载均衡。
先进入服务器中的nginx安装目录。
进入该文件夹下的conf目录下面找到nginx.conf文件。
注意,找的文件是在安装目录下,而并不是启动目录下。
在http括号里添加如下内容:
upstream kunge{
server 101.132.178.136:8080;
server 101.132.178.136:9090;
}
注意:其中kunge是随意的,101.132.178.136是你服务器的ip地址。
找到如下内容:将括号里的内容改为:proxy_pass http://kunge; 其中kunge为你刚刚设置的upstream后面的名称。其中意思为:当你跳根路径时,代理跳转到kunge。而kunge设置的ip地址时服务器的8080端口和9090端口,所以当运行时跳转的是8080端口的内容与9090端口的内容。
改完之后先关闭nginx服务/usr/local/nginx/sbin/nginx -s stop ,再重新动/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 。
此时打开浏览器,输入ip地址加上项目名的jsp页面,不断地刷新即可看到8080端口的内容和9090端口的内容 。
nginx的作用主要是当用户请求量过大时,服务器会启动若干个tomcat实例来分摊请求压力。
权重:
在请求路径后面加上weight属性,weight属性可以是任意值,以下代码的意思为,如果此时有四个请求,那么三个请求都会进入8080端口,只有一个请求会进入9090端口。
权重也是轮询的一种。(轮询:服务器轮流询问不同的端口内容)。