linux安装Tomcat部署jpress教程
yum在线安装:
查看tomcat相关的安装包:
[root@RHCE ~]# yum list | grep -i tomcat
tomcat.noarch 7.0.76-16.el7_9 @updates
tomcat-el-2.2-api.noarch 7.0.76-16.el7_9 @updates
tomcat-jsp-2.2-api.noarch 7.0.76-16.el7_9 @updates
tomcat-lib.noarch 7.0.76-16.el7_9 @updates
tomcat-servlet-3.0-api.noarch 7.0.76-16.el7_9 @updates
tomcat-webapps.noarch 7.0.76-16.el7_9 @updates
tomcat-admin-webapps.noarch 7.0.76-16.el7_9 updates
tomcat-docs-webapp.noarch 7.0.76-16.el7_9 updates
tomcat-javadoc.noarch 7.0.76-16.el7_9 updates
tomcat-jsvc.noarch 7.0.76-16.el7_9 updates
tomcatjss.noarch 7.2.5-1.el7 base
[root@RHCE ~]#
安装tomcat:
[root@RHCE ~]# yum install tomcat -y
[root@RHCE ~]# yum install tomcat-webapps.noarch -y
启动tomcat:
[root@RHCE ~]# systemctl start tomcat
[root@RHCE ~]# systemctl status tomcat.service
● tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2023-08-05 06:09:35 EDT; 1h 18min ago
Main PID: 2650 (java)
CGroup: /system.slice/tomcat.service
└─2650 /usr/lib/jvm/jre/bin/java -Djavax.sql.DataSource.Factory=org.a...Aug 05 06:09:41 RHCE server[2650]: Aug 05, 2023 6:09:41 AM org.apache.catalina...te
Aug 05 06:09:41 RHCE server[2650]: INFO: At least one JAR was scanned for TLDs...e.
Aug 05 06:09:42 RHCE server[2650]: Aug 05, 2023 6:09:42 AM org.apache.catalina...ry
Aug 05 06:09:42 RHCE server[2650]: INFO: Deployment of web application directo...ms
Aug 05 06:09:42 RHCE server[2650]: Aug 05, 2023 6:09:42 AM org.apache.coyote.A...rt
Aug 05 06:09:42 RHCE server[2650]: INFO: Starting ProtocolHandler ["http-bio-8080"]
Aug 05 06:09:42 RHCE server[2650]: Aug 05, 2023 6:09:42 AM org.apache.coyote.A...rt
Aug 05 06:09:42 RHCE server[2650]: INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Aug 05 06:09:42 RHCE server[2650]: Aug 05, 2023 6:09:42 AM org.apache.catalina...rt
Aug 05 06:09:42 RHCE server[2650]: INFO: Server startup in 3839 ms
Hint: Some lines were ellipsized, use -l to show in full.
检查端口号
[root@RHCE ~]# netstat -lnutp | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 2650/java
使用浏览器测试tomcat是否正常运行,输入主机ip和端口号
RPM包安装:
上传tomcat和jdk包组

安装java的jdk包并检查
[root@localhost ~]# yum localinstall -y jdk-8u261-linux-x64.rpm
[root@localhost ~]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
解压安装tomcat
[root@localhost ~]# tar -xf apache-tomcat-8.5.70.tar.gz -C /usr/local/
[root@localhost ~]# ln -sv /usr/local/apache-tomcat-8.5.70/ /usr/local/tomcat
[root@localhost ~]# tree -d -L 1 /usr/local/tomcat/
/usr/local/tomcat/
├── bin
├── conf
├── lib
├── logs
├── temp
├── webapps
└── work
创建用户tomcat
[root@localhost ~]# groupadd -g 53 tomcat
[root@localhost ~]# useradd -u 53 -g 53 -c "Apache Tomcat" -d /usr/local/tomcat/ -s /sbin/nologin tomcat
[root@localhost ~]# chown -R tomcat.tomcat /usr/local/tomcat/*
编辑tomcat.service文件
[root@localhost ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
Environment=CATALINA_HOME=/usr/local/tomcat
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExexStop=/bin/kill -s QUIT $MAINPID
User=tomcat
Group=tomcat
FrivateTmp=true
[Install]
WantedBy=multi-user.target
编辑tomcat.conf文件
[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat.conf
TOMCAT_CFG_LOADED="1"
TOMCATS_BASE="/usr/local/tomcat/"
# Where your java installation lives
JAVA_HOME="/usr/java/jdk1.8.0_261-amd64/jre/"
# Where your tomcat installation lives
CATALINA_HOME="/usr/local/tomcat"
# System-wide tmp
CATALINA_TMPDIR="/usr/local/tomcat/temp"
# Set default javax.sql.DataSource factory to apache commons one. See rhbz#1629162
JAVA_OPTS="-Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory"
# Run tomcat under the Java Security Manager
SECURITY_MANAGER="false"
启动tomcat 并设置开机启动
[root@localhost ~]# systemctl enable --now tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /usr/lib/systemd/system/tomcat.service.
[root@localhost ~]# systemctl status tomcat
● tomcat.service - Apache Tomcat
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2023-08-02 19:06:12 CST; 5s ago
Process: 3421 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 3428 (java)
CGroup: /system.slice/tomcat.service
└─3428 /usr/java/jdk1.8.0_261-amd64/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logg...
Aug 02 19:06:12 localhost.localdomain systemd[1]: Starting Apache Tomcat...
Aug 02 19:06:12 localhost.localdomain systemd[1]: Started Apache Tomcat.
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.16.131 netmask 255.255.255.0 broadcast 192.168.16.255
inet6 fe80::7b78:36ce:2fc3:c570 prefixlen 64 scopeid 0x20<link>
inet6 fe80::921e:3b9f:4a3c:f930 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:67:ed:f2 txqueuelen 1000 (Ethernet)
RX packets 105049 bytes 144206992 (137.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10163 bytes 1114107 (1.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
通过浏览器测试受否能够打开

部署jpress
查看是否有足够的熵来产生随机数
[root@RHCE ~]# cat /proc/sys/kernel/random/entropy_avail
436
不够则安装rngd解决
[root@localhost ~]# yum install -y rng-tools
[root@localhost ~]# systemctl enable --now rngd
Tomcat Web管理功能(注意:需设置可访问管理主机的IP地址,确保安全)
配置tomcat-users.xml文件(注意:在<tomcat-users>和</tomcat-usesr>之间添加)
[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-jmx,manager-script,manager-status"/>
允许方式Manager App,更改allow="可访问管理Tomcat的主机地址"
[root@localhost ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.100.146" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

允许访问HOST Manager
[root@localhost ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.100.146" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

重启tomcat 浏览器访问访问

输入用户名和密码后出现如下界面

静态网页和动态网页的区别
1. 静态网页:
- 静态网页是由服务器上存储的预先创建好的HTML、CSS和JavaScript等静态文件组成的。
- 当用户请求访问静态网页时,服务器直接将保存在硬盘上的静态网页文件发送给用户的浏览器,并由浏览器解析和呈现网页内容。
- 静态网页内容在每次访问时都是相同的,不会根据用户或其他条件的变化而改变。
- 通常用于展示不需要频繁更新内容的网页,如公司介绍、产品展示等。
2. 动态网页:
- 动态网页的内容是根据用户请求或其他条件在服务器端动态生成的。
- 当用户请求访问动态网页时,服务器通过服务器端脚本处理用户请求,并从数据库中获取数据、进行计算等操作后,生成一个HTML网页文件,并将其发送给用户的浏览器进行解析和呈现。
- 动态网页的内容可以根据用户的特定需求、登录状态、交互操作或其他条件的变化而改变。
- 通常用于需要与用户交互、提供实时更新内容的网页,如社交媒体、电子商务网站等。
web1.0和2.0的区别
1.Web1.0是被动的信息消费模式,只允许用户在网站上接受信息,不能进行交互和参与;而Web2.0则是一种更加交互式的网络环境,用户可以像参与社交网络那样自由地发布、共享信息,并通过评论、点赞等方式与其他用户互动。
2.内容形式:Web1.0主要是静态页面,内容主要以文字、图片、声音和视频资料为主;而Web2.0则更注重多媒体交互效果,包括在线直播、社交分享、流畅的动画效果等。
3.技术手段:Web1.0采用的是前端开发技术如HTML、CSS和JavaScript,后端则主要是静态网页服务器(如Apache);而Web2.0则采用了更多的技术手段如AJAX、HTML5、WEB API等,能够更好地支持多媒体展示、即时通信、云计算等功能。
4.数据处理:Web1.0主要强调数据的呈现,网页信息的发布、分类、搜索等都是围绕着展示信息本身进行设计的;而Web2.0则更关注数据的处理和分析,用户行为数据、动态社交关系等成为业务中重要的一环。
相关文章:
linux安装Tomcat部署jpress教程
yum在线安装: 查看tomcat相关的安装包: [rootRHCE ~]# yum list | grep -i tomcat tomcat.noarch 7.0.76-16.el7_9 updates tomcat-el-2.2-api.noarch 7.0.76-16.el7_9 updat…...
高并发负载均衡---LVS
目录 前言 一:负载均衡概述 二:为啥负载均衡服务器这么快呢? 编辑 2.1 七层应用程序慢的原因 2.2 四层负载均衡器LVS快的原因 三:LVS负载均衡器的三种模式 3.1 NAT模式 3.1.1 什么是NAT模式 3.1.2 NAT模式实现LVS的缺点…...
微前端中的 CSS
本文为翻译 本文译者为 360 奇舞团前端开发工程师原文标题:CSS in Micro Frontends 原文作者:Florian Rappl 原文地址:https://dev.to/florianrappl/css-in-micro-frontends-4jai 我被问得最多的问题之一是如何在微前端中处理 CSS。毕竟&…...
在CSDN学Golang场景化解决方案(分布式日志系统)
一,传统 elk 解决方案及其弊端 传统ELK(Elasticsearch Logstash Kibana)方案是一种流行的分布式日志系统解决方案,但也存在一些弊端: 依赖性:ELK使用Java编写,需要安装JVM,并且还…...
电脑第一次使用屏幕键盘
操作流程 1.在键盘上同时按WinR打开运行; 2.输入control 3.找到设置中心 4.点击屏幕键盘 效果 具体怎么使用 我不咋清除 简单 测试了一下 可以用鼠标点击屏幕键盘的按键 用键盘 按字母键和数字键 是和屏幕键盘不同步的 其他 tab、shift、后退、enter好像同步...
【C#学习笔记】类型转换
文章目录 类型转换字符转数字GetNumericValueConvert.ToInt32隐式转换计算 字符串转数字Parse 或 TryParse 方法 字节数组转整数 as,is强制类型转换isas 用户定义的转换 类型转换 我们简单地将值类型分为5种:整数型,浮点型,布尔型…...
SpringBoot+SSM实战<一>:打造高效便捷的企业级Java外卖订购系统
文章目录 项目简介项目架构功能模块管理端用户端 技术选型用户层网关层应用层数据层工具 项目优缺点结语 黑马程序员最新Java项目实战《苍穹外卖》:让你轻松掌握SpringBootSSM的企业级开发技巧项目简介 《苍穹外卖》是一款为餐饮企业(餐厅、饭店&#x…...
笙默考试管理系统-MyExamTest--calculagraph
笙默考试管理系统-MyExamTest--calculagra(1) 目录 一、 笙默考试管理系统-MyExamTest--calculagra 二、 笙默考试管理系统-MyExamTest--calculagra 三、 笙默考试管理系统-MyExamTest--calculagra 四、 笙默考试管理系统-MyExamTest--calculagra …...
Mysql面试突击班索引,事务与锁
Mysql面试突击班索引,事务与锁 1.为什么Mysql要使用B树做为索引而不用B树 B树能显著减少IO次数,提高效率B树的查询效率更加稳定,因为数据放在叶子节点B树能提高范围查询的效率,因为叶子节点指向下一个叶子节点B树采取顺序读 2.…...
数据结构——AVL树
文章目录 一.AVL树的定义二.AVL树的插入三.插入后更新平衡因子四.AVL树的旋转1.左单旋2.右单旋3.先左单旋再右单旋4.先右单旋再左单旋 五.AVL树的性能分析六.检查是否满足AVL树七.源码 一.AVL树的定义 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉…...
AI写作宝有哪些,分享两种AI写作工具
AI写作宝是一种基于人工智能技术的写作辅助工具。它可以根据用户输入的关键词和主题快速生成文章。AI写作宝可以为用户节省大量的时间和精力,帮助用户快速生成高质量的文章。今天就为大家推荐两款AI写作宝: 一、AI创作家 AI创作家是一款基于人工智能技…...
【uniapp 控制页面滑动速度】
可以使用 uni-app 提供的 onTouchMove 事件来控制页面滑动速度。 可以在 onTouchMove 事件方法中使用 event.deltaY 计算页面滑动的速度,然后根据需要来调整速度值,最后通过 event.preventDefault() 阻止默认的滑动行为,从而实现控制页面滑动…...
7-24 整数的分类处理 (20 分)
7-24 整数的分类处理 (20 分) 给定 N 个正整数,要求你从中得到下列三种计算结果: A1 能被 3 整除的最大整数 A2 存在整数 K 使之可以表示为 3K1 的整数的个数 A3 存在整数 K 使之可以表示为 3K2 的所有整数的平均值(精确到小数…...
MYSQL事务同时修改单条记录
疑问:Mysql多事务默认情况下,同时修改同一条记录运行修改吗?是否要手动加上for update行锁。 猜想:MySQL 会自动对涉及的数据行加上写锁(排他锁),以确保数据的一致性和隔离性。这是在默认的事务…...
安装skywalking并集成到微服务项目
文章目录 一、前言二、介绍1. 架构 三、安装skywalking服务端四、启动skywalking服务端五、微服务项目开发注册中心网关服务商品服务订单服务支付服务测试 六、下载java客户端七、微服务集成skywalking客户端1. idea启动2. 命令行启动3. 集成效果4. 服务实例5. 修改服务实例名称…...
一支笔,一双手,一道力扣(Leetcode)做一宿
文章目录 一、分享自己相关的经历二、分析可能存在的问题三、根据问题进行分解或建立思维导图四、分享好用的刷题网站并进行介绍 一、分享自己相关的经历 我是一名计算机专业的学生,之前在学习算法和数据结构时,对于简单题目还算能够顺利地刷过去。但是…...
Kubernetes(K8s)从入门到精通系列之九:使用kubeadm工具快速安装K8s集群
Kubernetes K8s从入门到精通系列之九:使用kubeadm工具快速安装K8s集群 一、安装kubeadm二、修改kubeadm的默认配置三、下载K8s相关镜像四、运行kubeadm imit命令安装Master节点五、将新的Node加入集群六、安装CNI网络插件七、验证K8s集群是否工作正常八、搭建高可用K8s集群详细…...
RabbitMQ 教程 | 第11章 RabbitMQ 扩展
👨🏻💻 热爱摄影的程序员 👨🏻🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…...
一分钟完成centos7安装docker
action: 1、下载安装包2、安装docker 1、背景 使用CentOS / Redhat 7 版本的应该偏多。但是,Docker CE在系统中安装的时候,往往会出现一堆依赖包的报错,解决依赖包需要耗费不短的时间。 经验证,目前已找到兼容能力强的版本&am…...
NativePHP:使用PHP构建跨平台桌面应用的新框架
NativePHP是一个用于使用PHP构建桌面应用的框架。它允许PHP开发人员使用熟悉的工具和技术创建跨平台的原生应用。NativePHP具有一系列易于使用的类,一套用于构建和打包应用程序的工具以及一个静态跨平台PHP运行时。 官网地址:https://nativephp.comNati…...
Flutter鸿蒙化适配中遇到的问题
Flutter 环境搭建避坑指南Flutter 作为跨平台开发的热门框架,凭借一套代码多端运行的优势,深受开发者喜爱,但环境搭建与适配却是新手入门的第一道拦路虎。我在初次配置 Flutter 开发环境时,接连踩中环境变量、模拟器版本、第三方工…...
Pixel Aurora Engine镜像部署:支持RTX 3060及以上显卡的轻量级方案
Pixel Aurora Engine镜像部署:支持RTX 3060及以上显卡的轻量级方案 1. 项目概览 Pixel Aurora Engine是一款专为像素艺术创作设计的AI绘图工作站,采用复古8-bit游戏风格界面,让AI艺术创作变得像玩游戏一样有趣。这个轻量级解决方案特别针对…...
MS5611高精度气压温度传感器Arduino驱动库
1. 项目概述MS5611-Mike-Refactored 是一款面向嵌入式平台(特别是 Arduino 兼容生态)的 MS5611 高精度气压/温度传感器驱动库。该库并非简单封装,而是对 Korneliusz Jarzebski 原始实现的一次系统性重构与工程化增强。其核心目标是将一个基础…...
家庭知识库中心:OpenClaw+Qwen3.5-9B管理个人数字资产
家庭知识库中心:OpenClawQwen3.5-9B管理个人数字资产 1. 为什么需要家庭知识库 去年搬家时,我在整理纸质文件的过程中发现一个严重问题:孩子的疫苗接种记录、房产合同、医疗报告等重要文档分散在多个文件夹中,紧急情况下根本找不…...
Transformer 原理与实现(二):从代码看透 Transformer
在上一篇文章 [Transformer 原理与实现(一):从 Attention 到编码解码机制](https://blog.csdn.net/Cha0DD/article/details/159753362) 中,我们从概念层面深入理解了 Transformer 的核心机制。 今天,我们将通过实际的…...
Redis 竞品与替代方案选型可行性分析报告
Redis 竞品与替代方案选型可行性分析报告 一、引言 Redis 作为内存数据库领域的标杆产品,凭借其高性能、丰富的数据结构和成熟的生态系统,在缓存、消息队列、实时计算等场景占据主导地位。然而,随着云原生架构的普及、数据规模的爆炸式增长以…...
POIKit:地理数据全流程处理的高效解决方案
POIKit:地理数据全流程处理的高效解决方案 【免费下载链接】AMapPoi POI搜索工具、地理编码工具 项目地址: https://gitcode.com/gh_mirrors/am/AMapPoi 价值定位:重新定义地理数据采集效率 行业痛点与技术突破 在地理信息领域,传统…...
[论文分享] ICLR 2026 Oral GEPA:反思性提示词演化可以超越强化学习
摘要 大型语言模型(LLMs)正越来越多地通过强化学习(RL)方法(如群体相对策略优化 GRPO)来适应下游任务,而这类方法通常需要数千次尝试(rollouts)才能学习新任务。我们认为…...
Arduino I²C pH传感器库:高鲁棒性嵌入式pH测量方案
1. 项目概述 iarduino_I2C_pH 是一款专为 iArduino 系列 IC 接口 pH 传感器模块设计的 Arduino 兼容 C 库。该库面向嵌入式硬件工程师与固件开发者,提供对 pH-метр(pH 计)模块的完整底层控制能力,支持标准硬件 IC 外设&#…...
Azure IoT Hub AMQP传输层深度解析与嵌入式实践
1. Azure IoT Hub AMQP 传输层技术深度解析Azure IoT Hub 是微软面向物联网场景构建的高可靠、可扩展云平台,其核心能力依赖于多种协议栈的协同支持。在众多通信协议中,AMQP(Advanced Message Queuing Protocol)因其固有的消息可靠…...
