1.toncat实现多虚拟主机
#二进制安装tomcat
[root@localhost ~]# yum install java -y
[root@localhost ~]# wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.73/bin/apache-tomcat-8.5.73.tar.gz
[root@localhost ~]# tar zxf apache-tomcat-8.5.73.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost ~]# ln -s apache-tomcat-8.5.73 tomcat
[root@localhost ~]# useradd -r -s /sbin/nologin tomcat
[root@localhost ~]# chown -R tomcat. /usr/local/apache-tomcat-8.5.73
[root@localhost ~]# echo 'PATH=/usr/local/tomcat/bin:$PATH' > /etc/profile.d/tomcat.sh
[root@localhost ~]# . /etc/profile.d/tomcat.sh
[root@localhost ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
#修改配置文件
[root@localhost conf]# vim server.xml
......
#在Engine 标签里面添加虚拟主机
<Engine name="Catalina" defaultHost="localhost">
<Host name="node1.wswj.com" appBase="/data/webapps1">
</Host>
<Host name="node2.wswj.com" appBase="/data/webapps2">
</Host>
</Engine>
#对每个虚拟主机,准备数据
[root@localhost conf]# mkdir /data/webapps{1,2}/ROOT -p
[root@localhost ~]# wget https://gitee.com/JPressProjects/jpress/attach_files/489467/download/jpress-v3.3.0.war
[root@localhost ~] mv jpress-v3.3.0.war /data/webapps1/
#node2的也是把war放到相应目录下
[root@localhost ~] systemctl start tomcat.service
#客户端测试
[root@localhost ~]# curl -IL http://node1.wswj.com:8080/jpress-v3.3.0
HTTP/1.1 302
Location: /jpress-v3.3.0/
Transfer-Encoding: chunked
Date: Tue, 21 Dec 2021 15:24:40 GMT
HTTP/1.1 302
Location: /jpress-v3.3.0/install
Transfer-Encoding: chunked
Date: Tue, 21 Dec 2021 15:24:40 GMT
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 21 Dec 2021 15:24:40 GMT
2.nginx实现后端tomcat的负载均衡调度
#nginx代理服务器
[root@localhost ~]# yum install nginx -y
[root@localhost ~]# vim /etc/nginx/nginx.conf
#在http 标签添加
upstream tomcat-ser {
server 172.16.1.200:8080; #tomcat1
server 172.16.1.201:8080; #tomcat2
}
server {
......
#添加代理
location ~* \.(jsp|do)$ {
proxy_pass http://tomcat-ser;
}
.....
}
#启动
[root@localhost ~]# nginx
#测试