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

相关推荐
lekami_兰13 分钟前
Java 并发工具类详解:4 大核心工具 + 实战场景,告别 synchronized
java·并发工具
有位神秘人18 分钟前
Android中Notification的使用详解
android·java·javascript
phltxy1 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js
tb_first1 小时前
LangChain4j简单入门
java·spring boot·langchain4j
独自破碎E1 小时前
【BISHI9】田忌赛马
android·java·开发语言
范纹杉想快点毕业2 小时前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
Byron07072 小时前
Vue 中使用 Tiptap 富文本编辑器的完整指南
前端·javascript·vue.js
smileNicky2 小时前
布隆过滤器怎么提高误差率
java
css趣多多2 小时前
地图快速上手
前端
それども2 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql