当前位置: 首页 > news >正文

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

  1. [root@localhost ~]# yum install -y rng-tools

  2. [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在线安装&#xff1a; 查看tomcat相关的安装包&#xff1a; [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

目录 前言 一&#xff1a;负载均衡概述 二&#xff1a;为啥负载均衡服务器这么快呢&#xff1f; ​编辑 2.1 七层应用程序慢的原因 2.2 四层负载均衡器LVS快的原因 三&#xff1a;LVS负载均衡器的三种模式 3.1 NAT模式 3.1.1 什么是NAT模式 3.1.2 NAT模式实现LVS的缺点…...

微前端中的 CSS

本文为翻译 本文译者为 360 奇舞团前端开发工程师原文标题&#xff1a;CSS in Micro Frontends 原文作者&#xff1a;Florian Rappl 原文地址&#xff1a;https://dev.to/florianrappl/css-in-micro-frontends-4jai 我被问得最多的问题之一是如何在微前端中处理 CSS。毕竟&…...

在CSDN学Golang场景化解决方案(分布式日志系统)

一&#xff0c;传统 elk 解决方案及其弊端 传统ELK&#xff08;Elasticsearch Logstash Kibana&#xff09;方案是一种流行的分布式日志系统解决方案&#xff0c;但也存在一些弊端&#xff1a; 依赖性&#xff1a;ELK使用Java编写&#xff0c;需要安装JVM&#xff0c;并且还…...

电脑第一次使用屏幕键盘

操作流程 1.在键盘上同时按WinR打开运行; 2.输入control 3.找到设置中心 4.点击屏幕键盘 效果 具体怎么使用 我不咋清除 简单 测试了一下 可以用鼠标点击屏幕键盘的按键 用键盘 按字母键和数字键 是和屏幕键盘不同步的 其他 tab、shift、后退、enter好像同步...

【C#学习笔记】类型转换

文章目录 类型转换字符转数字GetNumericValueConvert.ToInt32隐式转换计算 字符串转数字Parse 或 TryParse 方法 字节数组转整数 as&#xff0c;is强制类型转换isas 用户定义的转换 类型转换 我们简单地将值类型分为5种&#xff1a;整数型&#xff0c;浮点型&#xff0c;布尔型…...

SpringBoot+SSM实战<一>:打造高效便捷的企业级Java外卖订购系统

文章目录 项目简介项目架构功能模块管理端用户端 技术选型用户层网关层应用层数据层工具 项目优缺点结语 黑马程序员最新Java项目实战《苍穹外卖》&#xff1a;让你轻松掌握SpringBootSSM的企业级开发技巧项目简介 《苍穹外卖》是一款为餐饮企业&#xff08;餐厅、饭店&#x…...

笙默考试管理系统-MyExamTest--calculagraph

笙默考试管理系统-MyExamTest--calculagra&#xff08;1&#xff09; 目录 一、 笙默考试管理系统-MyExamTest--calculagra 二、 笙默考试管理系统-MyExamTest--calculagra 三、 笙默考试管理系统-MyExamTest--calculagra 四、 笙默考试管理系统-MyExamTest--calculagra …...

Mysql面试突击班索引,事务与锁

Mysql面试突击班索引&#xff0c;事务与锁 1.为什么Mysql要使用B树做为索引而不用B树 B树能显著减少IO次数&#xff0c;提高效率B树的查询效率更加稳定&#xff0c;因为数据放在叶子节点B树能提高范围查询的效率&#xff0c;因为叶子节点指向下一个叶子节点B树采取顺序读 2.…...

数据结构——AVL树

文章目录 一.AVL树的定义二.AVL树的插入三.插入后更新平衡因子四.AVL树的旋转1.左单旋2.右单旋3.先左单旋再右单旋4.先右单旋再左单旋 五.AVL树的性能分析六.检查是否满足AVL树七.源码 一.AVL树的定义 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉…...

AI写作宝有哪些,分享两种AI写作工具

AI写作宝是一种基于人工智能技术的写作辅助工具。它可以根据用户输入的关键词和主题快速生成文章。AI写作宝可以为用户节省大量的时间和精力&#xff0c;帮助用户快速生成高质量的文章。今天就为大家推荐两款AI写作宝&#xff1a; 一、AI创作家 AI创作家是一款基于人工智能技…...

【uniapp 控制页面滑动速度】

可以使用 uni-app 提供的 onTouchMove 事件来控制页面滑动速度。 可以在 onTouchMove 事件方法中使用 event.deltaY 计算页面滑动的速度&#xff0c;然后根据需要来调整速度值&#xff0c;最后通过 event.preventDefault() 阻止默认的滑动行为&#xff0c;从而实现控制页面滑动…...

7-24 整数的分类处理 (20 分)

7-24 整数的分类处理 &#xff08;20 分) 给定 N 个正整数&#xff0c;要求你从中得到下列三种计算结果&#xff1a; A1 能被 3 整除的最大整数 A2 存在整数 K 使之可以表示为 3K1 的整数的个数 A3 存在整数 K 使之可以表示为 3K2 的所有整数的平均值&#xff08;精确到小数…...

MYSQL事务同时修改单条记录

疑问&#xff1a;Mysql多事务默认情况下&#xff0c;同时修改同一条记录运行修改吗&#xff1f;是否要手动加上for update行锁。 猜想&#xff1a;MySQL 会自动对涉及的数据行加上写锁&#xff08;排他锁&#xff09;&#xff0c;以确保数据的一致性和隔离性。这是在默认的事务…...

安装skywalking并集成到微服务项目

文章目录 一、前言二、介绍1. 架构 三、安装skywalking服务端四、启动skywalking服务端五、微服务项目开发注册中心网关服务商品服务订单服务支付服务测试 六、下载java客户端七、微服务集成skywalking客户端1. idea启动2. 命令行启动3. 集成效果4. 服务实例5. 修改服务实例名称…...

一支笔,一双手,一道力扣(Leetcode)做一宿

文章目录 一、分享自己相关的经历二、分析可能存在的问题三、根据问题进行分解或建立思维导图四、分享好用的刷题网站并进行介绍 一、分享自己相关的经历 我是一名计算机专业的学生&#xff0c;之前在学习算法和数据结构时&#xff0c;对于简单题目还算能够顺利地刷过去。但是…...

Kubernetes(K8s)从入门到精通系列之九:使用kubeadm工具快速安装K8s集群

Kubernetes K8s从入门到精通系列之九:使用kubeadm工具快速安装K8s集群 一、安装kubeadm二、修改kubeadm的默认配置三、下载K8s相关镜像四、运行kubeadm imit命令安装Master节点五、将新的Node加入集群六、安装CNI网络插件七、验证K8s集群是否工作正常八、搭建高可用K8s集群详细…...

RabbitMQ 教程 | 第11章 RabbitMQ 扩展

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…...

一分钟完成centos7安装docker

action: 1、下载安装包2、安装docker 1、背景 使用CentOS / Redhat 7 版本的应该偏多。但是&#xff0c;Docker CE在系统中安装的时候&#xff0c;往往会出现一堆依赖包的报错&#xff0c;解决依赖包需要耗费不短的时间。 经验证&#xff0c;目前已找到兼容能力强的版本&am…...

NativePHP:使用PHP构建跨平台桌面应用的新框架

NativePHP是一个用于使用PHP构建桌面应用的框架。它允许PHP开发人员使用熟悉的工具和技术创建跨平台的原生应用。NativePHP具有一系列易于使用的类&#xff0c;一套用于构建和打包应用程序的工具以及一个静态跨平台PHP运行时。 官网地址&#xff1a;https://nativephp.comNati…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...