搭建三个Tomcat,并实现负载均衡
安装vim和net-tools
yum install vim -y |
安装JDK环境
将预先下载好jdk解压,并更名为jdk,移动到/usr/local/目录下
tar -zxf jdk-8u161-linux-x64.tar.gz |
写入如下内容:
JAVA_HOME=/usr/local/jdk |
使配置文件生效
source /etc/profile |
java -version #查看是否安装成功
安装Tomcat
将预先下载好的tomcat包解压,并更名为tomcat,移动到/usr/local/目录下,并复制另外两个Tomcat出来
tar -zxf apache-tomcat-8.5.84.tar.gz |
更改Tomcat配置server.xml中的端口号
方法一:sed -i 就是直接对文本文件进行操作的 sed -i 's/原字符串/新字符串/g' 对应路径,其中s为替换,g为全局。 方法二:命令行模式输入, :%s/源字符串/目的字符串/g 这里采用第一种
sed -i 's#8080#8081#g' /usr/local/tomcat1/conf/server.xml |
放开端口,或者关闭防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent |
systemctl stop firewalld |
启动三个Tomcat并在网页上验证
cd /usr/local/tomcat/bin/ |
安装Nginx
为了方便直接使用脚本安装
Nginx安装包nginx-1.12.2.tar.gz放在/opt里面
编写并执行脚本nginx_install.sh,脚本位置随意,如下为脚本内容
#!/bin/bash |
验证三个Tomcat是否启动成功。
netstat -ntpl |
如下为成功后会出现的内容
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 35174/java
tcp6 0 0 127.0.0.1:8006 :::* LISTEN 35186/java
tcp6 0 0 127.0.0.1:8007 :::* LISTEN 35200/java
tcp6 0 0 :::8080 :::* LISTEN 35174/java
tcp6 0 0 :::8081 :::* LISTEN 35186/java
tcp6 0 0 :::8082 :::* LISTEN 35200/java配置Nginx
cd /usr/local/nginx/conf
vim nginx.conf添加如下内容,没有的就添加,有的就修改注意事项:upstream后的名字要与location下的proxy_pass的名字一样。比方:upstream tomcat,proxy_pass http://tomcat;注意事项:server_name 为将要映射的域名注意事项:upstream下的server接三个相同的ip地址,接三个不同的端口,weight=1为权重,服务每收到3个客户端的请求,会把其中的1个转发给后端a,把其中的1个转发给后端b,把其中的1个转发给后端c,实现负载均衡。max_fails=3,fail_timeout=10s,意思是在10秒内请求某一应用失败3次,认为该应用宕机,然后等待10秒,这段时间内不会再把新请求发送到已经宕机的应用,而是直接发到正常的服务器,时间到后再有请求进来继续尝试连接宕机应用且仅尝试1次,如果还是失败,则继续等待10秒以此循环,直到恢复
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
upstream tomcat {
server 192.168.200.132:8080 weight=1 max_fails=3 fail_timeout=10s;
server 192.168.200.132:8081 weight=1 max_fails=3 fail_timeout=10s;
server 192.168.200.132:8082 weight=1 max_fails=3 fail_timeout=10s;
}
server {
listen 80;
server_name www.yjs21322.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
nginx -t 检查Nginx配置文件语法,出现successful即为成功
systemctl restart nginx 重启Nginx创建每个Tomcat的网站目录,在Tomcat目录下,创建名为app1的文件夹,三个Tomcat都是,然后用echo直接创建并编写index.jsp的内容。
cd /usr/local/tomcat/webapps/
mkdir app1
echo '<%out.println("This is tomcat-1 yjs"); %>' > /usr/local/tomcat/webapps/app1/index.jsp
cd /usr/local/tomcat1/webapps/
mkdir app1
echo '<%out.println("This is tomcat-2 213"); %>' > /usr/local/tomcat1/webapps/app1/index.jsp
cd /usr/local/tomcat2/webapps/
mkdir app1
echo ' <%out.println("This is tomcat-3 潘杰伦"); %>' > /usr/local/tomcat2/webapps/app1/index.jsp映射域名并验证
在物理机C:\Windows\System32\drivers\etc目录改hosts文件
映射192.168.200.132 www.yjs21322.com
访问www.yjs21322.com/app1/
即可看到轮询,验证了Tomcat的负载均衡
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 做 讓 人 远 远 聽 見 的 風!
评论
