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 &quot;%r&quot; %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://mingyuandemo.top;
 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----

相关推荐
二哈赛车手8 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
代码搬运媛8 小时前
Jest 测试框架详解与实现指南
前端
栗子~~8 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8299 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
counterxing9 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq9 小时前
windows下nginx的安装
linux·服务器·前端
之歆9 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜9 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108089 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
未若君雅裁10 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis