tomcat搭建个人博客 实现动静分离

jar包相关

  • .war:WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如jsp,html,配置文件等

  • .jar:EJB类文件的打包压缩类zip格式文件,,包括很多的class文件, 网景公司发明

  • .rar:资源适配器类打包文件,目前已不常用

  • .ear:企业级WebApp打包,目前已不常用

传统应用开发测试后,通常打包为war格式,这种文件部署到Tomcat的webapps目录下,并默认会自动解压

#conf/server.xml中文件配置
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">

状态页

点击进去是无法查看的,需要再配置文件中进行修改

打开该文件

将改成复制的内容贴进去

此时仍然不能打开,因为只能本地打开,虚拟机内是可以看到的

开启远程登陆,便可以访问

cd /usr/local/tomcat/webapps/manager/META-INF

vim context.xml

重启一下  systemctl restart tomcat

这个是看jvm内存使用情况

这能控制项目的状态

这个仍需要配置

依旧是 /usr/local/tomcat/conf/tomcat-users.xml

还需要在修改配置文件

切换到 /usr/local/tomcat/webapps/host-manager/META-INF

修改 context.xml 文件

systemctl restart tomcat

将8005端口修改

注意:0代表随机端口  -1代表无效端口

防止别人通过远程连接关闭tomcat 8005端口

配置虚拟主机

Context配置

Context作用:

  • 路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能

  • 应用独立配置,例如单独配置应用日志、单独配置应用访问控制

#映射指定路径
<Context path="/test" docBase="/data/test" reloadable="true" />
#映射站点的根目录
<Context path="/" docBase="/data/website" reloadable="true" />
#还可以添加日志等独立的配置
<Context path="/test" docBase="/data/test" reloadable="true" >
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_test_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Context>

说明:

  • path:指的是访问的URL路径,如果path与appBase下面的子目录同名,context的docBase路径优先更高

  • docBase:可以是磁盘文件的绝对路径,也可以是相对路径(相对于Host的appBase)

  • reloadable:true表示如果WEB-INF/classes或META-INF/lib目录下.class文件有改动,就会将WEB应用重新加载。生产环境中,建议使用false来禁用。

例子

[root@localhost data]#mkdir test
[root@localhost data]#echo test > test/index.html

[root@localhost test]#vim /usr/local/tomcat/conf/server.xml
<Host name="www.a.com"  appBase="/data/web1"
            unpackWARs="true" autoDeploy="true">
        <Context path="/test" docBase="/data/test" reloadable="false" />
        #如果  访问  www.a.com/test/   那么 就替换成"/data/test
      </Host>






[root@node2 ~]#curl www.a.com:8080/test/
test

tomcat搭建个人博客

将war包放在tomcat/webapps下

搭建一个repo源,用来下载数据库

vim /etc/yum.repo.d/mysql.repo

yum install  mysql-community-server -y

yum 安装的数据库,需要修改密码

先启动数据库

这时候我们不知道密码 

grep password  /var/log/mysqld.log

复制,登录

修改密码  由于是yum安装,安全级别比较高,需要稍作修改

set global validate_password_policy=0;   复杂性没有要求

set global validate_password_length=1;   长度没有要求

修改密码  alter user root@'localhost' identified by 'abc123';

修改完成

创建数据库 

192.168.94.7/jpress

搭建完成

jvm虚拟机

参数说明举例
-Xms设置应用程序初始使用的堆内存大小(年轻代+老年代)-Xms2g
-Xmx设置应用程序能获得的最大堆内存早期JVM不建议超过32G,内存管理效率下降-Xms4g
-XX:NewSize设置初始新生代大小-XX:NewSize=128m
-XX:MaxNewSize设置最大新生代内存空间-XX:MaxNewSize=256m
-Xmnsize同时设置-XX:NewSize 和 -XX:MaxNewSize,代-Xmn1g
-XX:NewRatio以比例方式设置新生代和老年代-XX:NewRatio=2new/old=1/2
-XX:SurvivorRatio以比例方式设置eden和survivor(S0或S1)-XX:SurvivorRatio=6eden/survivor=6/1new/survivor=8/1
-Xss设置每个线程私有的栈空间大小,依据具体线程-Xss256k

实现动静分离

记得每台机子都要把防火墙关闭,关闭核心防护

(systemctl stop  firewalld    setenforce 0)

 准备三台设备

linux1 做反向代理机器    linux2 和 3做 web服务端

linux1 nginx已装好,如果不会装,查看本人往期有关nginx的博客

linux 2 和3安装 jdk和tomcat(tomcat需要jdk)2和3步骤一样

首先先准备tomcat和jdk 的压缩包

tar xf jdk-8u291-linux-x64.tar.gz -C /usr/local/  

export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/

jdk安装完成

安装tomcat

tomcat安装完成

将tomcat 加入自启动

vim /usr/lib/systemd/system/tomcat.service

[Unit]
Description=Tomcat
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

完成

配置 linux1 端 进入配置文件 nginx.conf   (yum安装的路径/etc/nginx/nginx.conf   编译安装看你自己放哪就在哪)

记得 nginx -t 检查语法   nginx -s reload  重新加载配置文件 

前往 /data下建立相关文件  ,记得先在根下建立 data   (  mkdir /data)

图片的话 ,随便找一个 改名成 a.jpg即可


配置 linux2 和linux3 

linux2

echo tomcat1  > test.jsp 

linux 3  配置基本相同

配置完成 

测试


新增设备linux4 linux5 做nginx静态服务器 (yum 安装nginx )

将 /usr/share/nginx/html/index.html 页面进行修改  linux 4 和 5 都是

修改linux1  修改nginx 1的配置文件

修改 linux4 和 5 的配置 双方配置相同

测试


完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/437751.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch学习 day06(torchvision中的datasets、dataloader)

torchvision的datasets 使用torchvision提供的数据集API&#xff0c;比较方便&#xff0c;如果在pycharm中下载很慢&#xff0c;可以URL链接到迅雷中进行下载&#xff08;有些URL链接在源码里&#xff09;代码如下&#xff1a; import torchvision # 导入 torchvision 库 # …

RISC-V架构学习资料整理

1、韦东山——D1S哪吒开发板的裸机代码仓库 https://github.com/bigmagic123/d1-nezha-baremeta 2、melis系统移植到D1S https://blog.51cto.com/u_13800193/6268813 3、韦东山的gitee仓库 https://gitee.com/weidongshan 4、D1S编译工具链下载 https://github.com/Tina-Linux/…

第18课:让客户看了就满意的商业软文是如何练成的?

选品上的注意事项 结合影视热点 通过追影视热点&#xff0c;找出能够跟产品贴合的点。在前面先道出痛点&#xff0c;痛点越深刻&#xff0c;用户对产品的过度才会更自然。 用户体验 真实体验才能真正写得出来。 结合时事热点 用的少&#xff0c;赶上了用就会效果很好&#xf…

2024内衣洗衣机测评推荐:希亦、小吉、鲸立综合对比哪个牌子好?

对于那些追求品质生活、分类洗涤的用户而言&#xff0c;小型洗衣机可以满足我们对不同类型衣物分开洗涤的需求&#xff0c;例如将内衣、袜子等小件衣物与外套等分开洗涤&#xff0c;以保持衣物的清洁和卫生。并且如果您家中有宝宝&#xff0c;或者您对个人卫生和健康有较高要求…

Latex公式太长换行标号

Latex中公式太长换行,且编号,可以采用align,不编号行公式用\nonumber,示例如下: \begin{align}\nonumber %第1行公式不编号&a+b+a+b+a+b+a+b+a+b+a+b+a+b+a\\&+c+d=m %第2行公式编号 \end{align}效果如下 原文件链接 公式不同命令的区别 \begin{align} 与 \…

火柴排队(逆序对 + 离散化)

505. 火柴排队 原题链接 思路 如下是画图分析的一些过程 在这里贪心的思路是排序&#xff0c;然后两个数组都是从小到大那样对应的话最终的答案可达到最小 而我们只能交换相邻的火柴&#xff0c;故在这里先假设一个简化版本&#xff0c;即A有序&#xff0c;而只需要对B进行…

chatgpt与人类有何不同?

ChatGPT和人类之间存在多个显著的差异。 首先&#xff0c;ChatGPT是一种基于人工智能技术的计算机程序&#xff0c;通过机器学习和自然语言处理等技术&#xff0c;从大量的数据中获取知识并生成语言输出。它主要依赖于算法和数据进行工作&#xff0c;能够迅速处理和检索信息&a…

MySQL为什么要用B+树?

二叉树&#xff08;二叉查找树&#xff09; 平衡二叉树&#xff08;B树就是B-树&#xff09;(解决了二叉查找树的极端情况&#xff09; Q&#xff1a;具体是怎么解决的呢&#xff1f; A&#xff1a; 树左右两边层数相差不大于1一旦符合条件1的时候&#xff0c;就进行左旋/右…

sql高级

sql高级 SQL SELECT TOP 子句 SELECT TOP 子句用于规定要返回的记录的数目。 SELECT TOP 子句对于拥有数千条记录的大型表来说&#xff0c;是非常有用的。 **注意:**并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据&#xff0c; O…

掌握Linux之巅:RHCE认证快速攻略

在数字化时代&#xff0c;Linux系统已经成为企业级应用的重要支柱。RHCE&#xff08;Red Hat Certified Engineer&#xff09;认证&#xff0c;作为Linux领域的权威认证&#xff0c;不仅代表了专业技术的认可&#xff0c;更是职业发展的有力武器。本文将为你揭秘如何快速掌握Li…

信号处理--卷积残差网络实现单通道脑电的睡眠分期监测

目录 背景 亮点 环境配置 数据 方法 结果 代码获取 参考文献 背景 人类大约花三分之一的时间睡觉&#xff0c;这使得监视睡眠成为幸福感的组成部分。 在本文中&#xff0c;提出了用于端到端睡眠阶段的34层深残留的Convnet架构 亮点 使用深度1D CNN残差架构&#xff0…

XXE-XML实体注入漏洞

目录 1.xml基础 1.1什么是xml 1.2xml文档结构 1.3 什么是DTD 1.4 什么是实体 1.5 什么是外部实体 2.xxe漏洞 2.1xxe漏洞基本介绍 2.2xxe漏洞的危害 经典漏洞案例分析 3.xxe漏洞挖掘和利用 3.1. 识别潜在的XML入口 3.2. 检查XML处理逻辑 3.3. 构造试探Payload 常…

SpringBoot集成Kafka

Kafka是一种基于分布式发布-订阅消息系统的开源软件。 将消息存储在可配置数量的分区中&#xff0c;以便实现横向扩展&#xff0c;并且支持多个生产者和消费者&#xff0c;具有良好的可靠性保证机制。 Kafka还支持数据复制、故障转移和离线数据处理等功能&#xff0c;并被广泛应…

【面试必看!】如何介绍项目,如何陈述工作经历?

“简单介绍一下你的工作经历”&#xff0c;这是很多面试者在面试中遇到的第一个问题。因为现在招聘单位都很看重工作经验&#xff0c;尤其是软件行业&#xff0c;所以我想有必要在这里说一下如何在面试中陈述自己的工作经历。 在“说道理”之前&#xff0c;先举几个小例子&…

备战蓝桥(模板篇)

扩展欧德里几算法 质数筛 分解质因数 LCA BFS floyd Dijkstra prime 日期是否合法 Tire异或 模拟散列表 字符哈希 Tire字符串统计

【Linux篇】gdb的使用

&#x1f49b;不要有太大压力&#x1f9e1; &#x1f49b;生活不是选择而是热爱&#x1f9e1; &#x1f49a;文章目录&#x1f49a; 1. 背景知识2. 使用 1. 背景知识 1. 程序发布的方式有两种&#xff0c;debug模式和release模式 2. Linux下&#xff0c;gcc和g编译生成的可执行…

【MybatisPlus】QueryWrapper、UpdateWrappe、LambdaQueryWrapper、LambdaUpdateWrapper

一、Wrapper简介 QueryWrapper、UpdateWrapper、LambdaQueryWrapper 和 LambdaUpdateWrapper 都是 MyBatis-Plus 框架中用于构建条件的工具类&#xff0c;它们之间的关系是继承关系。其中 QueryWrapper 和 UpdateWrapper 是基于普通的对象属性名来构建条件的&#xff0c;而 La…

mongo用命令将csv导入导出数据表

1、准备csv数据 2、新建数据库 数据库名&#xff1a;POIDB&#xff0c;用Robo数据库可视化软件操作的 3、命令行导入csv文件 命令模板 mongoimport --db mydatabase --collection mycollection --type csv --headerline --file data.csv导入kword文件命令&#xff0c;数据…

相机标定实验

相机标定 文章目录 相机标定1 ROS标定1.1安装标定程序1.2 下载标定板1.3 标定1.4 标定结果 2 Kalibr相机标定2.1 下载官方提供的标定板2.2 自定义标定板2.3 cam数据录制2.4 标定2.5 输出结果 3 MATLAB标定3.1 打开工具3.2 添加标定板图片3.3 设置标定参数3.4 生成标定结果3.5 标…

【网络原理】初识网络原理

目录 &#x1f384;网络发展史&#x1f338;独立模式&#x1f338;网络互连&#x1f33b;局域网LAN&#x1f33c;基于网线直连&#x1f33c;基于集线器组建&#x1f33c;基于交换机组建&#x1f33c;基于交换机和路由器组建 &#x1f33b;广域网WAN &#x1f333;网络通信基础&…