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

centos7 部署Tomcat和jpress应用

目录

一、静态、动态、伪静态

二、Web 1.0 和 Web 2.0

三、centos7 部署Tomcat

3.1 安装、配置jdk

3.2 安装 Tomcat

3.3 配置服务启动脚本

3.3.1 创建用户和组

3.3.2 创建tomcat.conf文件

3.3.3 创建服务脚本(tomcat.service)

3.3.4 重新加载守护进程并且测试

四、部署jpress应用

4.1 上传jpress包

4.2 创建数据库和用户

4.3 访问站点 


一、静态、动态、伪静态


静态、动态和伪静态是指在网站开发中不同的页面生成方式。

静态页面:静态页面是指在服务器上提前生成好的HTML文件,每次用户请求时直接返回给用户。静态页面的内容是固定的,不会根据用户的请求或其他条件进行变化。静态页面的优点是加载速度快,对服务器资源要求较低,但缺点是无法实现个性化和动态交互。

动态页面:动态页面是指在用户请求时,服务器根据用户的请求和其他条件动态生成HTML文件并返回给用户。动态页面的内容可以根据用户的请求、数据库查询结果、用户登录状态等动态变化。动态页面的优点是可以实现个性化和动态交互,但缺点是对服务器资源要求较高,加载速度相对较慢。

伪静态页面:伪静态页面是指在服务器上生成的HTML文件,但其实际内容是由服务器程序根据用户请求和其他条件动态生成的。伪静态页面的生成过程类似于动态页面,但生成的结果被缓存为静态文件,下次相同请求时直接返回静态文件,避免了每次都动态生成的开销。伪静态页面的优点是兼具了静态页面的加载速度和动态页面的个性化和动态交互,但缺点是对服务器资源要求较高,需要服务器程序的支持。

总结:静态页面是提前生成好的固定内容的HTML文件,动态页面是根据用户请求和其他条件动态生成的HTML文件,伪静态页面是动态生成的HTML文件被缓存为静态文件。选择使用哪种页面生成方式取决于网站的需求和服务器资源的情况。


二、Web 1.0 和 Web 2.0

Web1.0和Web2.0是两个不同的阶段,代表了互联网的不同发展阶段和特点。

Web1.0是指互联网的早期阶段,主要是静态网页的展示和信息的传递。在Web1.0时代,网站的内容主要由网站开发者提供,用户只能被动地浏览和获取信息,无法进行互动和参与。网站的设计和开发主要以展示信息为主,缺乏用户参与和交互的功能。

Web2.0是指互联网的后期阶段,强调用户参与和互动。在Web2.0时代,用户可以主动参与和贡献内容,网站不再只是信息的传递者,而是成为用户之间交流和互动的平台。Web2.0的网站具有社交化、用户生成内容、协作和共享的特点,如社交网络、博客、维基百科等。用户可以通过评论、分享、点赞等方式与其他用户互动,共同创造和分享内容。

总结来说,Web1.0是静态的、被动的,主要以信息传递为目的;而Web2.0是动态的、互动的,强调用户参与和共享。Web2.0的出现使得互联网变得更加开放和多样化,用户可以更加自由地表达自己的观点和参与到互联网的建设中


三、centos7 部署Tomcat

jdk和tomcat下载地址:

jdk1.7官网免登录下载_世界很大,我很小的博客-CSDN博客

Index of /dist/tomcat/tomcat-8/v8.5.20/bin (apache.org)

3.1 安装、配置jdk

安装jdk

mkdir -p /usr/java
tar xf jdk-8u60-linux-x64.tar.gz -C /usr/java#配置jdk环境变量
vim /etc/profile.d/java.sh
JAVA_HOME=/usr/java/jdk1.8.0_60
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH#测试
source /etc/profile.d/java.sh
java -version


3.2 安装 Tomcat

mkdir -p /usr/local/tomcat
tar xf apache-tomcat-8.5.20.tar.gz -C /usr/local/tomcat#配置环境变量
echo 'export TOMCAT_HOME=/usr/local/tomcat'>>/etc/profile.d/tomcat.sh
source /etc/profile.d/tomcat.sh#测试
/usr/local/tomcat/bin/version.sh

 测试:


3.3 配置服务启动脚本

3.3.1 创建用户和组

3.3.2 创建tomcat.conf文件

路径:/usr/local/tomcat/apache-tomcat-8.5.20/conf/tomcat.conf

tomcat.conf 文件内容:

TOMCAT_CFG_LOADED="1"# In new-style instances, if CATALINA_BASE isn't specified, it will
# be constructed by joining TOMCATS_BASE and NAME.
TOMCATS_BASE="/usr/local/tomcat/apache-tomcat-8.5.20"# Where your java installation lives
JAVA_HOME="/usr/java/jdk1.8.0_261/jre"# Where your tomcat installation lives
CATALINA_HOME="/usr/local/tomcat/apache-tomcat-8.5.20"# System-wide tmp
CATALINA_TMPDIR="/usr/local/tomcat/apache-tomcat-8.5.20/temp"# You can pass some parameters to java here if you wish to
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"# Use JAVA_OPTS to set java.library.path for libtcnative.so
#JAVA_OPTS="-Djava.library.path=/usr/lib"# Set default javax.sql.DataSource factory to apache commons one. See rhbz#1629162
JAVA_OPTS="-Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory"# You can change your tomcat locale here
#LANG="en_US"# Run tomcat under the Java Security Manager
SECURITY_MANAGER="false"

3.3.3 创建服务脚本(tomcat.service)

路径:/usr/lib/systemd/system/tomcat.service

tomcat.service 的内容如下:

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target[Service]
Type=forking
Environment=JAVA_HOME=/usr/java/jdk1.8.0_261
Environment=CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.20
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.20/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
User=tomcat
Group=tomcat
PrivateTmp=true[Install]
WantedBy=multi-user.target

注意路径。每个变量的路径都要配置正确。


3.3.4 重新加载守护进程并且测试

补充:

systemctl daemon-reload 是一个用于重新加载 systemd 守护进程的命令。systemd 是一个用于管理 Linux 系统的初始化系统和服务管理器。当你修改了 systemd 的配置文件(如服务单元文件)时,需要使用 systemctl daemon-reload 命令来通知 systemd 重新加载配置文件,以使修改生效。这个命令会重新加载 systemd 的配置并更新守护进程的状态,以便系统可以使用最新的配置。


四、部署jpress应用

4.1 上传jpress包

jpress下载地址:github.com


4.2 创建数据库和用户

此时我的电脑上有mysql数据库的环境了。如果没有需要安装。

安装可以参考此文章:redhat9安装卸载mysql_卸载libtirpc_世界很大,我很小的博客-CSDN博客

修改命令可以参考此文章:redhat9中MySQL的修改密码操作_redhatlinux9修改mysql密码_世界很大,我很小的博客-CSDN博客

重置命令可以参考此文章: redhat9中MySQL的重置密码操作(忘记密码操作)_世界很大,我很小的博客-CSDN博客


4.3 访问站点 

如果是自己的windows电脑访问的话需要在Linux中关闭防火墙。注意要指定端口。

 

 

一直停留在此页面的话,就重启tomcat

 成功部署:

后台管理地址:http://192.168.33.158:8080/jpress-web-newest/admin/login

相关文章:

centos7 部署Tomcat和jpress应用

目录 一、静态、动态、伪静态 二、Web 1.0 和 Web 2.0 三、centos7 部署Tomcat 3.1 安装、配置jdk 3.2 安装 Tomcat 3.3 配置服务启动脚本 3.3.1 创建用户和组 3.3.2 创建tomcat.conf文件 3.3.3 创建服务脚本(tomcat.service) 3.3.4 重新加载守护进程并且测试 四、部…...

Unity Shader:常用的C#与shader交互的方法

俗话说久病成医,虽然不是专业技术美术,但代码写久了自然会积累一些常用的shader交互方法。零零散散的,总结如下: 1,改变UGUI的材质球属性 有时候我们需要改变ui的一些属性,从而实现想要的效果。通常UGUI上…...

luajit 使用 clang编译的坑

为了尝试将LuaJIT接入虚幻Lua插件之中,需要预编译LuaJIT链接库,在桌面平台问题不大, 主要是移动平台,涉及跨平台编译,因为对跨平台编译具体细节没有系统研究,这里先记录一下跨平台编译LuaJIT的主要过程 由于官方提供的…...

[SWPUCTF 2021 新生赛]Do_you_know_http

打开环境,根据题目提示,应该是考察http相关的东西 打开环境提示说请使用wLLm浏览器访问 那我们更改浏览器信息,在burp重发器中发包后发现是302重定向,但是提示说success成功,说明 我们修改是成功的,既然是…...

web前端之CSS

文章目录 一、CSS简介1.1 CSS语法规则 二、CSS的引用方法2.1 定义行内样式表2.2定义内部样式表2.3链入外部样式表2.4导入外部样式表 三、CSS选择符3.1 基本选择符3.1.1 标签选择符3.1.2 class类选择符3.1.3 id选择符 3.2 复合选择符3.2.1 交集选择符(合并选择器&…...

HarmonyOS元服务开发实践:桌面卡片字典

一、项目说明 1.DEMO创意为卡片字典。 2.不同卡片显示不同内容:微卡、小卡、中卡、大卡,根据不同卡片特征显示同一个字的不同内容,基于用户习惯可选择喜欢的卡片。 3.万能卡片刷新:用户点击卡片刷新按钮查看新内容,同时…...

xLua学习

xLua教程:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/XLua%E6%95%99%E7%A8%8B.md xLua配置:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/configure.md FAQ:https://github.com/Tencent/xLua/blob/maste…...

​Web3到底是个啥?

Web3到底是个啥? Web3是近两年来科技领域最火热的概念之一,但是目前对于Web3的定义却仍然没有形成标准答案,相当多对于Web3的理解,都是建立在虚拟货币行业(即俗称的“币圈”)的逻辑基础之上的。 区块链服务…...

pycharm、idea、golang等JetBrains其他IDE修改行分隔符(换行符)

文章目录 pycharm、idea、golang系列修改行分隔符我应该选择什么换行符JetBrains IDE,默认行分隔符 是跟随系统修改JetBrains IDE,默认行分隔符 pycharm、idea、golang系列修改行分隔符 一般来说,不同的开发环境和项目对换行格式的使用偏好不同: Windo…...

ThinkPHP函数深度解析

ThinkPHP是一个具有丰富功能和强大灵活性的PHP开发框架。在这篇文章中,我们将详细介绍ThinkPHP的一些关键函数,以帮助开发人员更好地理解和使用这个框架。 1. 入门:ThinkPHP的核心函数 1.1 C()函数 C()函数用于读取和设置配置参数。它是Thin…...

【java】【maven】【高级】MAVEN聚合继承属性等

目录 1、模块开发与设计 2、聚合 2、继承 3、属性 4、版本管理 5、资源配置 6、多环境配置 7、多环境开发配置 8、跳过测试 9、私服 前言:maven的高级使用包含分模块开发与设计、聚合、继承、属性、版本管理、资源配置、多环境配置、多环境开发配置、跳过…...

LeetCode150道面试经典题-合并两个有序数组(简单)

合并两个有序数组 题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意&a…...

记录 运维三剑客一件部署的的docker-compose,yml文件

CAdvisor: 收集 InfluxDB: 存储 Grafana: 展示 version: 3.1volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DBcadvisorports:- "8083:8083"- "8086:8086"volumes:- ./data/inf…...

Xposed框架开发

文章目录 xpose插件开发步骤清单文件新建一个类(插件入口点)设置入口点 Hook第一个实例zhuceji.apk一些常用的HOOKHookH5PluginHookProxyPluginHookSystem 资料Xposed原理初探 xpose插件开发步骤 magisk安装与配置 Xpose Framework API LSPosed magisk …...

2.13 Android ebpf非网络相关帮助函数API汇总(十二 本章完)

1.long bpf_user_ringbuf_drain(struct bpf_map *map, void *callback_fn, void *ctx, u64 flags) 描述:从指定的用户环形缓冲区中排出样本,并为每个此类样本调用提供的回调: long (*callback_fn)(struct bpf_dynptr *dynptr, void *ctx); 如果callback_fn返回0,帮助函数…...

关于游戏的笔记

关于搭建秦时明月2一键端,并且开启秘境神秘商人东海寻仙幻化 1.该游戏下主要的目录 gm端 服务框架 服务端 2.修改对应的文件 C:\qs\Q2Server\server\conf_common\ManagerAddress.xmlC:\qs\Q2Server\server\conf_manager\GateServer.xml修改ip 3.启动gm startup…...

vue diff 前后缀+最长递增子序列算法

文章目录 查找相同前后缀通过前后缀位置信息新增节点通过前后缀位置信息删除节点 中间部份 diff判断节点是否需要移动删除节点删除未查找到的节点删除多余节点 移动和新增节点最长递增子序列 求解最长递增子序列位置信息 查找相同前后缀 如上图所示,新旧 children 拥…...

【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析

目录 前言 influxDB 安装运行InfluxDB 用Python 上报数据到influxdb ocust 数据写入到 influx Locust的生命周期 上报数据 优化升级 配置Grafana 总结 资料获取方法 前言 在进行性能测试时,我们需要对测试结果进行监控和分析,以便于及时发现问…...

数组模拟循环链表

5073. 空闲块 - AcWing题库 数组模拟循环链表 /*从当前位置开始遍历空闲块链表(初始是从地址最小的第一个空闲块开始),寻找满足条件的最小块 (即:大于等于请求空间的最小空闲块,如果有多个大小相同的最小空…...

第三章 图论 No.5最小生成树之虚拟源点,完全图与次小生成树

文章目录 虚拟源点:1146. 新的开始贪心或kruskal性质:1145. 北极通讯网络最小生成树与完全图:346. 走廊泼水节次小生成树:1148. 秘密的牛奶运输 虚拟源点:1146. 新的开始 1146. 新的开始 - AcWing题库 与一般的最小…...

RESTful API的讲解以及用PHP实现RESTful API

RESTful API是什么 RESTful是一种设计风格,是一种用于构建Web服务的架构。RESTful API是一种基于REST(Representational State Transfer)架构风格的Web服务接口设计规范。它强调使用HTTP协议中的请求方法(例如GET、POST、PUT、DEL…...

Spring中@Component和@Bean的区别

1. 用途不同 Component用于标识普通类 Bean是在配置类中声明和配置Bean对象 2. 使用方式不同 Component是一个类级别的注解,Spring通过ComponentScan注解扫描并注册为Bean. Bean是一个方法级别的注解,在配置类中手动声明和配置Bean 3. 控制权不同 Component注解修饰的类使…...

【问题解决】mysql 数据库字符串分割之后多行输出方法

背景: 项目需要从一张表查询出来数据插入到另一张表,其中有一个字段是用逗号分隔的字符串,需要多行输入到另一张表,那么这个如何实现呢 方案: 下面先粘贴下sql语句: select SUBSTRING_INDEX(SUBSTRING_…...

flutter开发实战-时间显示刚刚几分钟前几小时前

flutter开发实战-时间显示刚刚几分钟前几小时前 在开发中经常遇到从服务端获取的时间戳,需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 一、代码实现 static String timeFormatterChatTimeStamp(int seconds) {try {int nowDateSeconds (DateTi…...

导出LLaMA等LLM模型为onnx

通过onnx模型可以在支持onnx推理的推理引擎上进行推理,从而可以将LLM部署在更加广泛的平台上面。此外还可以具有避免pytorch依赖,获得更好的性能等优势。 这篇博客(大模型LLaMa及周边项目(二) - 知乎)进行…...

回顾 OWASP 机器学习十大风险

日复一日,越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式,可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力,包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…...

ENSP软件的基本使用命令(第三十一课)

ENSP软件的基本使用命令(第三十一课) 下面的图片是今天操作的核心基础操作 1 命令行页面 交换机 路由器 PC机 分别展示一下 页面的样子 2 基本命令结构...

五、FreeRTOS数据类型和编程规范

1、数据类型 (1)每个移植的版本都含有自己的portmacro.h头文件,里面定义了2个数据类型。 (2)TickType_t FreeRTOS配置了一个周期性的时钟中断:Tick Interrup每发生一次中断,中断次数累加,这被称为tick counttick count这个变量…...

码出高效_第二章 | 面向对象_上

目录 一. OOP理念1. 概念辨析2. 四大特性1. 抽象2. 封装3. 继承4. 多态 二. 初识Java1. JDKJDK 5-11的重要类、特性及重大改变 2. JRE关于JVM 三. 类1. 概述2. 接口和抽象类1. 概念及相同点2. 不同点3. 总结 3. 内部类4. 访问权限控制1. 由来2. public/private/无/private3. 推…...

大学生课设实训|基于springboot的在线拍卖系统

目录 项目描述 主要技术栈 功能效果 数据库设计 开发顺序 业务功能 大家好!我是龍弟-idea!需要源码资料信息可私聊我【HWL__666666】! 项目描述 本系统是一个网上商品竞拍系统,为拍卖者和竞买者提供一个在线交流平台。本项…...