linux安装Tomcat及部署jpress的详细教程!!!

一、YUM在线安装

 1、查看Tomcat相关安装包

[root@localhost ~]# yum list | grep tomcat
tomcat.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-el-2.2-api.noarch                    7.0.76-16.el7_9            updates  
tomcat-javadoc.noarch                       7.0.76-16.el7_9            updates  
tomcat-jsp-2.2-api.noarch                   7.0.76-16.el7_9            updates  
tomcat-jsvc.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  
tomcatjss.noarch

2、安装相关软件包

[root@localhost ~]# yum install -y tomcat.noarch[root@localhost ~]# yum install -y tomcat-webapps.noarch

3、启动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 Web Application ContainerLoaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-08-02 17:58:12 CST; 31s agoMain PID: 1633 (java)CGroup: /system.slice/tomcat.service└─1633 /usr/lib/jvm/jre/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceF...Aug 02 17:58:13 localhost.localdomain server[1633]: Aug 02, 2023 5:58:13 PM org.apache.catalina.startup.TldConf...cute
Aug 02 17:58:13 localhost.localdomain server[1633]: INFO: At least one JAR was scanned for TLDs yet contained n...ime.
Aug 02 17:58:13 localhost.localdomain server[1633]: Aug 02, 2023 5:58:13 PM org.apache.catalina.startup.HostCon...tory
Aug 02 17:58:13 localhost.localdomain server[1633]: INFO: Deployment of web application directory /var/lib/tomc...9 ms
Aug 02 17:58:13 localhost.localdomain server[1633]: Aug 02, 2023 5:58:13 PM org.apache.coyote.AbstractProtocol start
Aug 02 17:58:13 localhost.localdomain server[1633]: INFO: Starting ProtocolHandler ["http-bio-8080"]
Aug 02 17:58:13 localhost.localdomain server[1633]: Aug 02, 2023 5:58:13 PM org.apache.coyote.AbstractProtocol start
Aug 02 17:58:13 localhost.localdomain server[1633]: INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Aug 02 17:58:13 localhost.localdomain server[1633]: Aug 02, 2023 5:58:13 PM org.apache.catalina.startup.Catalina start
Aug 02 17:58:13 localhost.localdomain server[1633]: INFO: Server startup in 1120 ms
Hint: Some lines were ellipsized, use -l to show in full.

4、通过浏览器进行测试Tomcat是否可以成功打开

浏览器输入虚拟机IP地址:192.168.x.x:8080

注意:这里需要关闭虚拟机的防火防(或放行该服务端口),selinux需要设置为宽容模式

到这里在线安装TomCat已经完成啦!!! 

二、RPM包离线安装

1、上传Tomcat的rpm包、java的jdk包

2、安装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)

3、解压安装Tomcat的rpm包,配置相关文件

[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
└── work7 directories

4、创建新用户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
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.[root@localhost ~]# chown -R tomcat.tomcat /usr/local/tomcat/*

5、编辑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/tomcatExecStart=/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

6、编辑tomcat.conf文件

[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat.confTOMCAT_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"

7、启动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 TomcatLoaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2023-08-02 19:06:12 CST; 5s agoProcess: 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 1500inet 192.168.16.131  netmask 255.255.255.0  broadcast 192.168.16.255inet6 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 0TX packets 10163  bytes 1114107 (1.0 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

8、通过浏览器进行测试Tomcat是否可以成功打开

浏览器输入虚拟机IP地址:192.168.x.x:8080

注意:这里需要关闭虚拟机的防火防(或放行该服务端口),selinux需要设置为宽容模式

 到这里离线安装TomCat已经完成啦!!!

三、部署jpress应用

1、查看是否有足够的熵来用于产生随机数

[root@localhost ~]# cat /proc/sys/kernel/random/entropy_avail 
762

(1)如果不够则安装rngd服务解决

[root@localhost ~]# yum install -y rng-tools[root@localhost ~]# systemctl enable --now rngd

(2)再次查看

[root@localhost ~]# cat /proc/sys/kernel/random/entropy_avail 
3105

2、Tomcat Web管理功能(注意:需设置可访问管理主机的IP地址,确保安全)

(1)配置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"/>

(2)允许方式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.16.1" /><Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

(3)允许访问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.16.1" /><Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

3、重启Tomcat,使用浏览器访问 

 

 4、部署jpress应用

(1)安装MariaDB数据库

[root@localhost ~]# yum install -y mariadb-service[root@localhost ~]# systemctl start mariadb.service[root@localhost ~]# mysql -e "create database jpress DEFAULT CHARACTER SET utf8;"
[root@localhost ~]# mysql -e "grant all on jpress.* to jpress@'localhost' identified by '123456'"

(2)jpress站点上线(上传war包到指定目录)

[root@localhost ~]# ls /usr/local/tomcat/webapps/jpress-web-newest.war 
/usr/local/tomcat/webapps/jpress-web-newest.war

5、浏览器访问http://192.168.x.x:8080/jpress-web-newest/install,进行安装

  

 

6、到这里就已经部署完成了,一起来欣赏以下吧!!! 

 

四、静态网页和动态网页的区别

静态网页

(1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。虽然静态网页的页面一旦做成,内容就不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等

(2)静态网页的打开,用户可以直接双击,并且不管任何人任何时间打开的页面的内容都是不变的。

动态网页

(1)动态网页是指跟静态网页相对的一种网页编程技术。动态网页的网页文件中除了HTML标记以外,还包括一些特定功能的程序代码,这些代码可以使得浏览器和服务器可以交互,所以服务器端根据客户的不同请求动态的生成网页内容。

即:动态网页相对于静态网页来说,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。

(2)动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术(如PHP、ASP、JSP等)生成的网页都可以称为动态网页。

动态网页和静态网页的区别

(1)更新和维护:  

静态网页内容一经发布到网站服务器上,无论是否有用户访问,这些网页内容都是保存在网站服务器上的。如果要修改网页的内容,就必须修改其源代码,然后重新上传到服务器上。静态网页没有数据库的支持,当网站信息量很大的时候网页的制作和维护都很困难

动态网页可以根据不同的用户请求,时间或者环境的需求动态的生成不同的网页内容,并且动态网页一般以数据库技术为基础,可以大大降低网站维护的工作量

(2)交互性:

静态网页由于很多内容都是固定的,在功能方面有很大的限制,所以交互性较差

动态网页则可以实现更多的功能,如用户的登录、注册、查询等

(3)响应速度:

静态网页内容相对固定,容易被搜索引擎检索,且不需要连接数据库,因此响应速度较快

动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页,其中涉及到数据的连接访问和查询等一系列过程,所以响应速度相对较慢

(4)访问特点:

静态网页的每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”,可以直接双击打开

动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索之中不去抓取网址中“?”后面的内容,不能直接双击打开

五、Webl.0 和 Web2.0 的区别

Web1.0

1、Web1.0时代,互联网的架构主要是以客户端-服务器模式为基础,基于HTML进行静态网页的展示。前端技术相对简单,交互性和动态性较差。
2、在Web1.0时代,互联网主要被用作信息传递和发布的工具。大部分网站是静态的,缺乏社交和协作的功能。
3、Web1.0注重信息展示和传递,网站主要由少数专业人士和机构创建和发布,普通用户的参与度有限。

Web2.0

 1、随着Web2.0的发展,出现了更多的前端技术和开发框架,如AJAX、JavaScript库等,使得网页能够实现更丰富的交互和动态效果。Web2.0采用了更分布式的架构,通过Web服务、API等方式,不同的应用程序可以互相集成和共享数据。
2、Web2.0注重社交和协作,通过各种社交媒体平台和协作工具,用户可以轻松地与他人建立联系、分享信息、合作项目并参与在线社区。
3、前端技术和交互方式得到了改进,引入了AJAX、JavaScript库等,实现了更动态和交互性的网页体验。
4、网站内容更加丰富多样,包括博客、社交媒体、在线论坛、维基百科等。用户可以发表评论、上传图片和视频,与其他用户进行互动和交流。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2D视觉检测算法整理

1.ROI pooling 和 ROI align的区别 ROI pooling第一步根据候选区域找特征图的位置&#xff0c;可能不是刚好对应&#xff0c;需要一次量化&#xff0c;如上图所示&#xff0c;第二次是特征图需要转化为特定的大小&#xff0c;这时候pooling可能也不能正好整除&#xff0c;所以第…

【Linux命令200例】tee将输入内容输出到屏幕和文件

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;本文已收录于专栏&#xff1a;Linux命令大全。 &#x1f3c6;本专栏我们会通过具体的系统的命令讲解加上鲜…

计算机毕设 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往…

RocketMQ 在业务消息场景的优势详解

作者&#xff1a;隆基 01 消息场景 RocketMQ 5.0 是消息事件流一体的实时数据处理平台&#xff0c;是业务消息领域的事实标准&#xff0c;很多互联网公司在业务消息场景会使用 RocketMQ。 我们反复提到的“消息、业务消息”&#xff0c;指的是分布式应用解耦&#xff0c;是 R…

Linux系统CPU和磁盘性能进程分析工具pidstat

一、pidstat对CPU的分析 Linux 上的pidstat(1)工具按进程或线程打印CPU 用量&#xff0c;包括用户态和系统态时间的分解。默认情况下&#xff0c;仅循环输出活动进程的信息。例如&#xff1a; 这个例子捕捉到了系统备份&#xff0c;包含了tar(1)命令&#xff0c;从文件系统读取…

攻防世界zorropub题解与subprocess模块

目录 题目分析&#xff1a; subprocess模块&#xff1a; subprocess.Popen()函数&#xff1a; subprocess.run()函数&#xff1a; 题目脚本&#xff1a; 在攻防世界做到一个题目感觉还挺有意思&#xff0c;记录一下 这个放链接也只是攻防世界的页面&#xff0c;所以直接说…

AI技术快讯:清华开源ChatGLM2双语对话语言模型

ChatGLM2-6B是一个开源项目&#xff0c;提供了ChatGLM2-6B模型的代码和资源。根据提供的搜索结果&#xff0c;以下是对该项目的介绍&#xff1a; 论文&#xff1a;https://arxiv.org/pdf/2103.10360.pdf ChatGLM2-6B是一个开源的双语对话语言模型&#xff0c;是ChatGLM-6B模…

0802|IO进程线程day5 作业(打印时钟在终端上,若终端输入quit,结束时钟)

作业1&#xff1a;守护进程 守护进程的创建&#xff08;5步&#xff09;&#xff1a; 创建孤儿进程&#xff1a;所有工作都在子进程中执行&#xff0c;从形式上脱离终端控制。 fork(), 退出父进程 创建新的会话组&#xff1a;使子进程完全独立出来&#xff0c;防止兄弟进程对其…

Python集成开发环境IDE:Spyder自动换行、函数列表outline、代码折叠

Spyder是一个用PythonQt编写的集成开发环境&#xff0c;包含许多有用的函数和工具。以下是一些常用功能&#xff1a; 变量浏览器&#xff1a;可以动态交互并修改变量&#xff0c;可以进行绘制直方图、时间序列&#xff0c;编辑日期框架或Numpy数组&#xff0c;对集合进行排序&…

【python】两数之和 python实现(详细讲解)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【Java可执行命令】(十三)策略工具policytool:界面化创建、编辑和管理策略文件中的权限和配置 ~

Java可执行命令之policytool 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 使用方式3.2 使用技巧3.3 注意事项 4️⃣ 应用场景&#x1f33e; 总结 1️⃣ 概念 在Java平台上&#xff0c;安全性是至关重要的。为了提供细粒度的安全管理机制&#xff0c;Java引入了policytool命令。p…

cmake使用笔记

vim CMakeLists.txt mkdir build cd build cmake ..创建 CMakeLists.txt&#xff0c;添加内容 cmake_minimum_required(VERSION 3.26) #工程名称 project(hello) #宏定义 add_definitions(-D宏名称) #头文件路径 include_directories(${PROJECT_SOURCE_DIR}/inc) #搜索源文件…

Python爬虫教程篇+图形化整理数据(数学建模可用)

一、首先我们先看要求 1.写一个爬虫程序 2、爬取目标网站数据&#xff0c;关键项不能少于5项。 3、存储数据到数据库&#xff0c;可以进行增删改查操作。 4、扩展&#xff1a;将库中数据进行可视化展示。 二、操作步骤&#xff1a; 首先我们根据要求找到一个适合自己的网…

Socket本质、实战演示两个进程建立TCP连接通信的过程

文章目录 Socket是什么引入面试题, 使你更深刻的理解四元组 Socket网络通信大体流程实战演示TCP连接建立过程需要用到的linux 查看网络的一些命令测试的程序一些准备工作启动服务端, 并没有调用accept启动客户端开启服务accept Socket是什么 通俗来说,Socket是套接字,是一种编…

InnoDB引擎底层逻辑讲解——架构之磁盘架构

1. System Tablespaces区域 系统表空间是change buffer&#xff08;更改缓冲区&#xff09;的存放区域&#xff0c;这是在8.0之后重新规划的&#xff0c;在5.x版本的时候&#xff0c;系统表空间还会存放innodb的数据字典undolog日志等信息&#xff0c;在8.0之后主要主要存放更…

Gitlab CI/CD笔记-第一天-GitOps和以前的和jenkins的集成的区别

一、GitOps-CI/CD的流程图 简单解释&#xff1a; 1.提交代码 2.编译构建 3.测试 4.部署 二、gitlab的实现 1、Runer 1.这个就是jenkins里的worker-slave的角色&#xff0c; 2.git-lab server 下发任务&#xff0c;Runner执行。 3.这个R…

关于样本方差为什么除以 n-1

今天上午集训摸鱼看到同学给我发的这个问题感觉挺有意思的 感性理解 这一部分的内容仅代表本蒟蒻没看严谨证明之前的个人见解&#xff0c;如果您想看严谨的证明&#xff0c;请翻到下一部分 还是先把图放上来罢省的有人不知道讲的什么东西 呃我知道这是生物竞赛的东西&#…

下载列表视频的具体操作

主要是介绍怎样获取上篇博客需要的HAR文件和请求域名

docker: Error response from daemon: No command specified.

执行 docker run -it -d -v /home/dell/workspace/workspace/test_192.168.1.202_pipeline:/home/workspace1 --name test_192.168.1.202_pipeline_10 qnx:7.1报错 问题定位&#xff1a;export导入的镜像需要带上command&#xff0c;以下命令查看command信息 docker ps --no…

十进制、八进制、二进制、十六进制

十进制 每一位都有 0~9 十个数码&#xff0c;逢十进一 二进制 每一位仅有 0 和 1 两个数码&#xff0c;逢二进一 八进制 每一位都有 0~7 八个数码&#xff0c;逢八进一 十六进制 每一位都有 0~9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)&#xff0c;十六个数码&#…