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----

相关推荐
暖和_白开水16 分钟前
数据分析agent (七):contextvars 模块上下文request_id
java·前端·数据分析
程序员黑豆25 分钟前
鸿蒙应用开发:Flex 组件从入门到实战
前端·华为·harmonyos
大爱编程♡25 分钟前
Vue3+TypeScript+element-plus的文章管理项目(配后端接口)-退出及文章管理页面
前端·javascript·typescript
先吃饱再说26 分钟前
React 组件设计:从 Props 传递到组件封装
前端·react.js
独立开阀者_FwtCoder29 分钟前
最近做了一个健身小程序:智形健身助手,健身的佬们来提点意见
前端·javascript·github
舒灿33 分钟前
喵ing Tab 1.0.0 正式发布
前端·ai编程
葡萄城技术团队36 分钟前
当表格数据来自外部系统:SpreadJS 如何让异步公式一键刷新
前端
小徐_233341 分钟前
Open Wot 1.0.5 发布:让 AI 接入 wot-ui,只需要两条命令
前端·uni-app·ai编程
Android研究员44 分钟前
Android进阶之事件分发机制深度剖析
android·前端·面试
Csvn1 小时前
🛡️ 前端水印方案全解析——从「能被 F12 删掉」到「删不掉」的反破解实战
前端