Linux ——Tomcat多实例配置 & 反向代理集群

Tomcat多实例配置

在早期,物理服务器在运行服务同时会有较多的资源冗余,以此我们来配备多个实例来运行其他服务,避免物理服务器的浪费使用。

多实例(多进程):(同一个程序启动多次)

第一种:一台机器运行多个站点;
第二种:一个机器运行一个站点多个实例,配合负载均衡。

1、复制程序文件

[root@java-tomcat1 ~]# cd /usr/local
[root@java-tomcat1 local]# ls
tomcat
[r oot@java-tomcat1 local]# cp -r tomcat/ tomcat_2
[root@java-tomcat1 local]# ls
tomcat  tomcat_2
修改端口,以启动多实例。多实例之间端口不能一致
[root@java-tomcat1 local]# sed -i 's#8005#8011#;s#8080#8081#' tomcat/conf/server.xml
[root@java-tomcat1 local]# sed -i 's#8005#8012#;s#8080#8082#' tomcat_2/conf/server.xml
[root@java-tomcat1 local]# sed -i 's#8009#8019#' tomcat/conf/server.xml
[root@java-tomcat1 local]# sed -i 's#8009#8029#' tomcat_2/conf/server.xml
[root@java-tomcat1 local]# diff tomcat/conf/server.xml tomcat_2/conf/server.xml  #对比文件不同之处

2、启动tomcat多实例

[root@java-tomcat1 local]# cp -r /opt/webapps/ROOT/ tomcat/webapps/
[root@java-tomcat1 local]# cp -r /opt/webapps/ROOT/ tomcat_2/webapps/
[root@java-tomcat1 local]# echo 8081 >> tomcat/webapps/ROOT/index.jsp 
[root@java-tomcat1 local]# echo 8082 >> tomcat_2/webapps/ROOT/index.jsp
启动:
[root@java-tomcat1 local]# cd tomcat_2/bin/
[root@java-tomcat1 bin]# c
#!/bin/bash
#tomcat_2
export CATALINA_BASE="/usr/local/tomcat_2"

case "$1" in

start)
    $CATALINA_BASE/bin/startup.sh
    ;;
stop)
    $CATALINA_BASE/bin/shutdown.sh
esac
[root@java-tomcat1 bin]# chmod +x start.sh
#修改catalina.sh ---添加如下内容
[root@java-tomcat1 bin]# vim catalina.sh
CATALINA_HOME=/usr/local/tomcat_2  #添加的环境变量注意修改
[root@java-tomcat1 bin]# cd /usr/local/tomcat/bin/
[root@java-tomcat1 bin]# vim start.sh
#!/bin/bash
#tomcat
export CATALINA_BASE="/usr/local/tomcat"

case "$1" in

start)
    $CATALINA_BASE/bin/startup.sh
    ;;
stop)
    $CATALINA_BASE/bin/shutdown.sh
esac
[root@java-tomcat1 bin]# chmod +x start.sh
[root@java-tomcat1 bin]# vim catalina.sh
CATALINA_HOME=/usr/local/tomcat
# 如果多实例部署使用的 JDK 版本不同,修改catalina.sh再这里定义java
JAVA_HOME=
JRE_HOME=

Linux ——Tomcat多实例配置 & 反向代理集群_第1张图片
Linux ——Tomcat多实例配置 & 反向代理集群_第2张图片

启动:
[root@java-tomcat1 ~]# /usr/local/tomcat/bin/start.sh 
[root@java-tomcat1 ~]# /usr/local/tomcat_2/bin/start.sh start

检查端口查看是否启动:

[root@java-tomcat1 application]# netstat -lntp | grep java 

3、在浏览器访问,进行测试

检查多实例的启动
http://IP:8081/
http://IP:8082/

Tomcat反向代理集群

  • 1、负载均衡器说明

关闭防火墙和selinux(企业环境自行配置策略)

yum安装nginx
[root@nginx-proxy ~]# cd /etc/yum.repos.d/
[root@nginx-proxy yum.repos.d]# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@nginx-proxy yum.repos.d]# yum install yum-utils -y
[root@nginx-proxy yum.repos.d]# yum install nginx -y
  • 2、配置负载均衡器

备份原配置文件并修改

[root@nginx-proxy ~]# cd /etc/nginx/conf.d/
[root@nginx-proxy conf.d]# vim  default.conf
server {
    listen       80;
    server_name  localhost;
    access_log  /var/log/nginx/proxy.access.log  main;
​
    location / {
       proxy_pass http://testweb;
       proxy_set_header Host $host:$server_port;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }       
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    } 
}
创建upstream配置文件:
[root@nginx-proxy conf.d]# vim upstream.conf
upstream testweb {
    server 192.168.50.114:8081 weight=1 max_fails=1 fail_timeout=2s;
    server 192.168.50.114:8082 weight=1 max_fails=1 fail_timeout=2s;
}

启动nginx

[root@nginx-proxy ~]# systemctl start nginx
  • 3、使用命令进行访问测试

使用curl 命令进行测试,tail -l 进行关键字提取

[root@nginx-proxy ~]# curl  192.168.50.118 | tail -1 
8082
[root@nginx-proxy ~]# curl  192.168.50.118 | tail -1 
8081

4、在浏览器上进行访问测试
http://IP/

http://ip/

END

你可能感兴趣的:(Linux,中阶——企业应用实战,云计算初阶-Linux运维实战,云计算初阶-Linux入门,tomcat,nginx反向代理,运维,服务器,linux)