CentOS7-部署Tomcat并运行Jpress
1. 简述静态网页和动态网页的区别。
2. 简述 Webl.0 和 Web2.0 的区别。
3. 安装tomcat8,配置服务启动脚本,部署jpress应用。
1、简述静态网页和动态网页的区别
静态网页:
请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面,静态网页包含文本、图像、Flash动画、超链接等内容,在编写网页源代码时已经确定。除非网页源代码被重新修改,否则这些内容不会发生变化。
动态网页:
请求响应信息,发给事务端进行处理,由服务端处理完成,将信息返回给客户端,动态网页有数据库支撑、包含程序以及提供与用户交互的功能,如用户登录、用户注册、信息查询等功能,根据用户传入的不同参数,网页会显示不同的数据。
2、简述 Webl.0 和 Web2.0 的区别

概念:
web1.0:通常称为只读网络,网站是信息性的,仅包含超链接在一起的静态内容,或者简单地说,没有CSS、动态链接、交互性(如登录用户、对博客文章的评论等)。禁止在网上冲浪时在网站上投放广告。是一个内容交付网络 (CDN),可以在网站上展示信息片段。它可以用作个人网站;它根据查看的页面向用户收费;它具有使用户能够检索特定信息的目录。
web2.0:通常称为读写网络。也称为参与式社交网络,社交网络包含许多在线工具和平台,人们可以在其中分享他们的观点、意见、想法和经验,它突出了用户生成的内容、可用性和最终用户的互操作性。
特征的不同之处:
Web1.0:以静态、单向阅读为主,网站内信息可以直接和其他网站信息进行交互,能通过第三方信息平台同时对多家网站信息进行整合使用。
Web2.0:以分享为特征的实时网络,用户在互联网上拥有自己的数据,并能在不同的网站上使用。
3、安装tomcat8,配置服务启动脚本,部署jpress应用
实验步骤:
环境准备:
步骤一:关闭防火墙和selinux
# 设置为开机不启动
[root@node01 ~]# systemctl disable firewalld.service# 临时停止防火墙
[root@node01 ~]# systemctl stop firewalld.service# 手动停止selinux,可以不用重启动虚拟机
[root@node01 ~]# setenforce 0
[root@node01 ~]# vim /etc/selinux/config
[root@node01 ~]# sestatus
SELinux status: disabled# 检查状态
[root@node01 ~]# systemctl is-active firewalld.service
unknown
[root@node01 ~]# getenforce
Disabled
步骤二:配置静态IP地址
# 修改为静态地址,注意子网掩码
[root@node01 ~]# nmcli connection modify ens32 ipv4.method manual ipv4.addresses 192.168.11.110 ipv4.gateway 192.168.11.2 ipv4.dns 8.8.8.8 connection.autoconnect yes# 启动网卡
[root@node01 ~]# nmcli connection up ens32
步骤三:安装常用软件
[root@node01 ~]# yum install -y bash-completion tree lrzsz vim net-tools.x86_64 unzip net-tools lsof wget
tomcat是依赖java环境,所以安装jdk,也可以用自带的openjdk
步骤四:上传软件jdk mysql tomcat
[root@node01 ~]# ll
total 784608
-rw-------. 1 root root 1425 Mar 19 13:12 anaconda-ks.cfg
-rw-r--r-- 1 root root 9433364 Apr 15 17:16 apache-tomcat-8.5.20.tar.gz
-rw-r--r-- 1 root root 127431820 Apr 15 17:18 jdk-8u261-linux-x64.rpm
-rw-r--r-- 1 root root 666559924 Mar 19 21:19 mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
步骤五:安装jdk并查看版本信息
# 安装jdk
[root@node01 ~]# yum install jdk-8u261-linux-x64.rpm -y# 查看版本
[root@node01 ~]# 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到指定目录/usr/local,并创建软链接
# 解压到指定目录
[root@node01 ~]# tar xf apache-tomcat-8.5.20.tar.gz -C /usr/local/# 进入该目录将Apache文件链接到tomcat
[root@node01 local]# ln -s apache-tomcat-8.5.20/ tomcat
步骤七:重启服务,查看端口监听信息
# 进入路径查看有哪些文件
[root@node01 ~]# cd /usr/local/tomcat/bin/
[root@node01 bin]# ls
bootstrap.jar commons-daemon.jar daemon.sh setclasspath.sh startup.sh tool-wrapper.sh
catalina.bat commons-daemon-native.tar.gz digest.bat shutdown.bat tomcat-juli.jar version.bat
catalina.sh configtest.bat digest.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina-tasks.xml configtest.sh setclasspath.bat startup.bat tool-wrapper.bat# 启动服务
[root@node01 bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.PS:也可以用绝对路径启动,这里只是想看看里面的文件内容# 查看进程和监听端口信息
[root@node01 bin]# ps -ef | grep tomcat
root 16744 1 1 17:29 pts/2 00:00:01 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 17624 1452 0 17:31 pts/2 00:00:00 grep --color=auto tomcat[root@node01 bin]# ss -lntup | grep 8080
tcp LISTEN 0 100 [::]:8080 [::]:* users:(("java",pid=16744,fd=51))

步骤八:开发服务启动脚本
[root@node01 ~]# 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
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
测试:
# 要重新加载,不然服务启动不起来
[root@node01 ~]# systemctl daemon-reload
[root@node01 ~]# systemctl restart tomcat.service
[root@node01 ~]# systemctl stop tomcat.service
[root@node01 ~]# ss -lntip | grep 8080
[root@node01 ~]#
[root@node01 ~]#
[root@node01 ~]# systemctl start tomcat
[root@node01 ~]#
[root@node01 ~]# ss -lntip | grep 8080
LISTEN 0 100 [::]:8080 [::]:* users:(("java",pid=38501,fd=51))[root@node01 ~]# /usr/local/tomcat/bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@node01 ~]# ss -lntpu | grep 8080
[root@node01 ~]#
[root@node01 ~]#
[root@node01 ~]# systemctl restart tomcat.service
[root@node01 ~]#
[root@node01 ~]#
[root@node01 ~]# ss -lntpu | grep 8080
tcp LISTEN 0 100 [::]:8080 [::]:* users:(("java",pid=39970,fd=51))

步骤九:安装数据库,创建数据库并授权用户信息
# 重启数据库,之前的数据库干净环境
[root@node01 ~]# systemctl restart mysqld.service# 不进入数据库创建数据库并指定字符集
[root@node01 ~]# mysql -uroot -p123456 -e 'create database jpress default character set utf8;'# 授权用户
[root@node01 ~]# mysql -uroot -p123456 -e 'grant all on jpress.* to jpress@localhost identified by "123456";'# 查看是否创建成功
[root@node01 ~]# mysql -uroot -p123456 -e 'show databases;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database |
+--------------------+
| information_schema |
| jpress |
| mysql |
| performance_schema |
| sys |
+--------------------+
步骤十:上传jpress至根路径,将其移动到/usr/local/tomcat/webapps下
[root@node01 ~]# ll
total 853964
-rw-------. 1 root root 1425 Mar 19 13:12 anaconda-ks.cfg
-rw-r--r-- 1 root root 9433364 Apr 15 17:16 apache-tomcat-8.5.20.tar.gz
-rw-r--r-- 1 root root 127431820 Apr 15 17:18 jdk-8u261-linux-x64.rpm
-rw-r--r-- 1 root root 71018586 Apr 15 18:07 jpress-v4.2.0.war
-rw-r--r-- 1 root root 666559924 Mar 19 21:19 mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz[root@node01 ~]# mv jpress-v4.2.0.war /usr/local/tomcat/webapps/[root@node01 ~]# ll /usr/local/tomcat/webapps/
total 69360
drwxr-x--- 14 root root 4096 Apr 15 17:23 docs
drwxr-x--- 6 root root 83 Apr 15 17:23 examples
drwxr-x--- 5 root root 87 Apr 15 17:23 host-manager
drwxr-x--- 6 root root 86 Apr 15 18:12 jpress-v4.2.0
-rw-r--r-- 1 root root 71018586 Apr 15 18:07 jpress-v4.2.0.war
drwxr-x--- 5 root root 103 Apr 15 17:23 manager
drwxr-x--- 3 root root 306 Apr 15 17:23 ROOT
浏览器中输入:http://IP:8080/jpress-v4.2.0/install

数据库信息:

后台信息:

步骤十一:安装完成后重启tomcat
# 安装完毕之后,重启tomcat即可访问。
systemctl restart tomcat# 访问后台:http://IP:8080/jpress-v4.2.0/admin/login
相关文章:
CentOS7-部署Tomcat并运行Jpress
1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。1、简述静态网页和动态网页的区别 静态网页: 请求响应信息,发给客户端进行处理,由浏览器进…...
菜鸟程序员的3年心酸逆袭之旅!今天你对我爱搭不理,明天我让你高攀不起!
多年前我以一个菜鸟的身份 进入了一家创业公司 我原本以为公司是这样的 但是实际上是这样的 我进去时 我们部门除开部门老大还有我 也只有我 所以我就这样开始了我的程序员生涯 开始了我的苦逼技术 公司是做电商网站的 因为我是一个菜鸟 所以我接到的第一个任务 就是做一个网页…...
【Scala】异常 隐式转换 泛型
目录 异常 隐式转换 隐式函数 隐式参数 隐式类 隐式解析机制 泛型 泛型上下限 上下文限定 来源: 异常 def main(args: Array[String]): Unit {try {var n 10 / 0}catch {case ex: ArithmeticException>{// 发生算术异常println("发生算术异常&quo…...
1673_MIT 6.828 Homework xv6 lazy page allocation要求翻译
全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 在计划表中看到了这样一份作业,做一个简单的翻译整理。原来的页面:Homework: xv6 lazy page allocation (mit.edu) 家庭作业:x…...
六、Locust之TaskSets详解
TaskSets是一种结构化测试分层网站/系统的方法。你可以在这里阅读更多关于它的信息。 1.TaskSet class 如果你正在对一个以分层方式构建的网站进行性能测试,有章节和子章节,以同样的方式构建你的负载测试可能是有用的。 为了这个目的&#x…...
flask_知识点3_css
flask_知识点3_css样式1高度和宽度2行内和块级3字体和颜色4文字对齐方式5浮动6 内边距6 外边距!css重点1、css样式2、分析页面布局3、参考别人的成果css引用方式1 在标签上(不建议使用)// An highlighted block var foo bar;2 在head标签中写…...
Redis_概述_特性_IO模型
本章要点 掌握NoSql数据库的概念和与sql数据库的区别初步了解Redis内存数据库了解Redis内存数据库的优点及其原因掌握Redis的多线程IO模型学习Redis的安装和配置 Redis简介 Redis 全称 Remote Dictionary Server 远程字典服务! 使用C语言编写,支持网络,可基于内存也可以持久化…...
[论文速览] Sparks of Artificial General Intelligence: Early experiments with GPT-4
Sparks of Artificial General Intelligence: Early experiments with GPT-4 2023.3.22 微软官方发布了目前人类史上最强AI模型 GPT-4 的综合能力评估论文,总所周知,2023年是通用人工智能(Artificial General Intelligence,AGI&a…...
舔狗日记:学姐生日快到了,使用Python把她的照片做成视频当礼物
舔狗日记1前言一、需要调入的模块二、实现合并多张图片转成 mp4 视频三、优化改进一下总结前言 这不是学姐生日快到了,于是我学了一手使用Python来把学姐的照片生成为视频,到时候给她一个惊喜! 好了先不舔了,下面分享一下用pytho…...
从《移动互联网应用程序(App)收集使用个人信息自评估指南》看个人信息保护着力点
为指导应用运营者对自身收集、使用个人信息行为进行自查自纠,2019年3月,应用专项治理工作组发布了《应用违法违规收集使用行为自查自查指南》。个人信息”。随着对App违法收集、使用个人信息行为评价工作的开展和深入,《App违法违规收集、使用…...
电脑0x0000001A蓝屏错误怎么U盘重装系统教学
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作&…...
Day939.如何小步安全地升级数据库框架 -系统重构实战
如何小步安全地升级数据库框架 Hi,我是阿昌,今天学习记录的是关于如何小步安全地升级数据库框架的内容。 当消息组件的数据存储都是采用 SQL 拼写的方式来操作,这样不便于后续的扩展及维护。除此之外,相比前面的其他重构&#x…...
2023 年十大 API 管理趋势
作者郑玩星,API7.ai 技术工程师。 阅读原文 什么是 API?什么是 API 管理? 近期,AIGC(AI Generated Content,生成式人工智能)在各行业的应用日趋普及。AIGC 服务提供商通过 API 向外部提供其内…...
计算机网络微课堂1-3节
目录 1. TCP/TP协议编辑 2. 3.调制解调器 4.因特网的组成 5.电路交换 6.分组交换 重要常用 7.报文交换 8.总结电路交换 报文交换和分组交换 9. 1. TCP/TP协议 2. ISP 网络提供商 ISP的三层 国际 国家 和本地 3.调制解调器 什么是调制解调器,它存在的…...
[Eigen中文文档] Array类与元素操作
文档总目录 本文目录什么是Array类?Array类型访问Array中的值加法与减法Array乘法其他按元素操作的运算array和matrix表达式之间的转换英文原文(The Array class and coefficient-wise operations) 本页旨在提供有关如何使用Eigen的Array类的概述和说明。 什么是A…...
python学习,全球有哪些特别好的社区推荐呢?
Surfshark可以访问全球社区学习的surfshark工具使用方法教程:qptool.net/shark.html 以下是一些全球范围内比较受欢迎的 Python 学习社区: 中文社区:csdn.net 优势:本土国语社区,获得相关知识与经验便利。 Python官…...
LC-1042. 不邻接植花(四色问题(染色法))
1042. 不邻接植花 难度中等198 有 n 个花园,按从 1 到 n 标记。另有数组 paths ,其中 paths[i] [xi, yi] 描述了花园 xi 到花园 yi 的双向路径。在每个花园中,你打算种下四种花之一。 另外,所有花园 最多 有 3 条路径可以进入…...
python实战应用讲解-【numpy科学计算】scikits-learn模块(附python示例代码)
目录 Numpy 安装scikits-learn 准备工作 具体步骤 Numpy 加载范例数据集 具体步骤...
大数据开发必备面试题Spark篇01
1、Hadoop 和 Spark 的相同点和不同点? Hadoop 底层使用 MapReduce 计算架构,只有 map 和 reduce 两种操作,表达能力比较欠缺,而且在 MR 过程中会重复的读写 hdfs,造成大量的磁盘 io 读写操作,所以适合高时…...
SpringBoot整合xxl-job详细教程
SrpingBoot整合xxl-job,实现任务调度说明调度中心执行器调试整合SpringBoot说明 Xxl-Job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。Xxl-Job有…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
