2025-tomcat web实践
1.配置虚拟主机
[root@web03 ~]# cat /app/tomcat/conf/server.xml </Host><Host name="zrlog.net" appBase="/code/zrlog"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="zrlog_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /></Host>
2.配置数据库
前置步骤:https://blog.csdn.net/Bert_Field/article/details/153866201?spm=1001.2014.3001.5502

mysql> create database zrlog charset utf8; #'zrlog'@'%' 表示允许用户 zrlog 从任意主机(% 是通配符)连接到 MySQL。 #密码为 'zrlog',这是一个非常简单的密码。 mysql> create user 'zrlog'@'%' identified by 'zrlog'; #ALL PRIVILEGES 表示授予所有权限(包括 SELECT, INSERT, UPDATE, DELETE, DROP, CREATE USER, SHUTDOWN 等)。 #*.* 表示对所有数据库和所有表生效。 #这相当于给了该用户数据库管理员(DBA)级别的权限。 mysql> grant all privileges on *.* to 'zrlog'@'%'; mysql> flush privileges;
3.部署
[root@web03 ~]# wget https://dl.zrlog.com/release/javax-war/zrlog.war [root@web03 ~]# mv zrlog.war ROOT.war [root@web03 ~]#/app/tomcat/bin/startup.sh
4.多节点部署
[root@web02 ~]# mkdir /app [root@web02 ~]# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.111/bin/apache-tomcat-9.0.111.tar.gz [root@web02 ~]# tar xf apache-tomcat-9.0.111.tar.gz -C /app [root@web02 ~]# ln -s /app/apache-tomcat-9.0.111/ /app/tomcat [root@web02 ~]# rsync -avz root@172.16.1.9:/app / [root@web02 ~]#/app/tomcat/bin/startup.sh
5.多节点共享存储
[root@nfs ~]# cat /etc/exports /data/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666) [root@nfs ~]# mkdir /data/zrlog [root@nfs ~]# chown -R www.www /data/zrlog [root@nfs ~]# systemctl restart nfs-server

记录静态资源存放位置
#检查位置 [root@web03 attached]# ls /code/zrlog/ROOT/attached/ image [root@web03 attached]# mount -t nfs 172.16.1.32:/data/zrlog /code/zrlog/ROOT/attached/ [root@web02 zrlog]# rsync -avz root@172.16.1.9:/code/zrlog/ /code/zrlog/ [root@web02 ~]# mount -t nfs 172.16.1.32:/data/zrlog /code/zrlog/ROOT/attached/
把域名解析切到另一台机器看静态资源是否能共享
#检查nfs共享挂载目录上是否存在静态资源 [root@nfs ~]# ls /data/zrlog image
----测试成功----

----注意----
挂载后会清空/attached 测试请重新创建博客OR选择在挂载后创建
6.集群部署
6.1反向代理多机实践
#配置nginx负载均衡
[root@proxy01 ~]# cat /etc/nginx/conf.d/proxy_zrlog.conf
upstream java {server 172.16.1.8:8080;server 172.16.1.9:8080;}server {server_name mingyuandemo.top;listen 80;location / {proxy_pass http://java;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
#检查语法&重载 [root@proxy01 ~]# nginx -t [root@proxy01 ~]# systemctl reload nginx
域名解析切换到负载均衡节点

----负载均衡测试OK----
6.2集群配置https
购买域名

证书申请

证书下载

#编辑负载均衡,添加ssl证书,http-->https
[root@proxy01 ~]# cat /etc/nginx/conf.d/proxy_zrlog.conf
upstream zrlog {server 172.16.1.8:8080;server 172.16.1.9:8080;}
server {listen 443 ssl;ssl_certificate ssl/mingyuandemo.top.pem;ssl_certificate_key ssl/mingyuandemo.top.key;ssl_session_timeout 5m;server_name mingyuandemo.top;location / {proxy_pass http://zrlog;proxy_set_header Host $http_host;}}server {listen 80;server_name mingyuandemo.top;return 302 https://$server_name$request_uri;}[root@proxy01 ~]# nginx -t
[root@proxy01 ~]# systemctl reload nginx
----测试OK----

