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

相关推荐
我命由我1234516 小时前
Java NIO 编程 - NIO Echo Server、NIO Client(NIO 异步客户端、NIO Selector 异步客户端)
java·开发语言·网络·java-ee·intellij-idea·intellij idea·nio
嗯、.16 小时前
使用Itext9生成PDF水印,兼容不同生成引擎的坐标系(如: Skia、OpenPDF)
java·pdf·itextpdf·openpdf·坐标变换矩阵
巧克力芋泥包18 小时前
前端使用阿里云图形验证码;并且与安卓进行交互
android·前端·阿里云
断剑zou天涯19 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
G***E31619 小时前
前端GraphQLAPI
前端
lumi.19 小时前
Vue + Element Plus 实现AI文档解析与问答功能(含详细注释+核心逻辑解析)
前端·javascript·vue.js·人工智能
z***I39419 小时前
VueGraphQLAPI
前端
m***667320 小时前
SQL 实战—递归 SQL:层级结构查询与处理树形数据
java·数据库·sql
粉末的沉淀21 小时前
css:制作带边框的气泡框
前端·javascript·css
鲸沉梦落21 小时前
Java中的Stream
java