当前位置: 首页 > 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题库 与一般的最小…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...