WEB集群——http、tomcat
1. 简述静态网页和动态网页的区别。
2. 简述 Webl.0 和 Web2.0 的区别。
3. 安装tomcat8,配置服务启动脚本,部署jpress应用。
1. 简述静态网页和动态网页的区别。
1)、静态网页
(1)、什么是静态网页
(2)、静态网页的优势
1. 访问的效率比较高2. 网页内容是固定不变的,因此,容易被搜索引擎收录3. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)
(3)、静态网页的劣势
1. 网页页面交互性交差,因为不能与数据库配合2. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体
(4)、静态网页的特征
1. 处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等-
2. 地址中不含有问号 " ? " 或 & 等特殊符号。3. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体4. 页内容是固定不变的,因此,容易被搜索引擎收录5. 网页页面交互性交差,因为不能与数据库配合6. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系 统上返回数据(不做任何解析)
2)、动态网页
(1)、什么是动态网页
(2)、动态网页的优势
客户端与服务器交互能力强
(3)、动态网页的劣势
1. 访问的效率比较低2. 不便于被搜索引擎收录
3)、两者之间的区别
静态网页在IE浏览器地址栏里可以看到是html或者htm结尾,网站网页内容固定不变,在服务器端与客户端的页面内容是完全相同的。当用户浏览器向网页服务器请求提供网页内容时,服务器只是将原已设计好的静态HTML文档直接传送给客户端浏览器。页面的内容使用的标准的 HTML编码加上gif图像。要更新网页的时候,只有手动地来更新所有的HTML文件。
静态网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作HTML文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。而动态网页在地址栏里有asp或者php关键字,在服务器端与客户端的页面内容不相同。最原始的页面存在服务器端,根据用户反馈的内容或者要求,在服务器端计算得出结果以后,直接把结果传递到客户端电脑上显示出来。
2. 简述 Webl.0 和 Web2.0 的区别。
Web2.0 是相对Web1.0 的新的一类互联网应用的统称。
Web1.0 的主要特点在于用户通过浏览器获取信息。
Web2.0 则更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。
所谓网站内容的制造者是说互联网上的每一个用户不再仅仅是互联网的读者,同时也成为互联网的作者;不再仅仅是在互联网上冲浪,同时也成为波浪制造者;在模式上由单纯的“读”向“写”以及“共同建设”发展;由被动地接收互联网信息向主动创造互联网信息发展,从而更加人性化。
3. 安装tomcat8,配置服务启动脚本,部署jpress应用
1)、Tomcat的介绍
2)、安装
(1)、安装Tomcat和JDK
[root@master java]# ll
total 124448
-rw-r--r--. 1 root root 127431820 Jul 22 23:52 jdk-8u261-linux-x64.rpm
[root@master java]# yum install jdk-8u261-linux-x64.rpm -y
[root@master java]# 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)
官网中下载tomcat8.5.70的压缩包
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz 

解压
[root@master tomcat]# tar xf apache-tomcat-8.5.70.tar.gz -C /usr/local/
[root@master tomcat]# ln -sv /usr/local/apache-tomcat-8.5.70/ /usr/local/tomcat
‘/usr/local/tomcat’ -> ‘/usr/local/apache-tomcat-8.5.70/’
[root@master tomcat]# ls /usr/local/tomcat/
bin CONTRIBUTING.md logs RELEASE-NOTES webapps
BUILDING.txt lib NOTICE RUNNING.txt work
conf LICENSE README.md temp
[root@master tomcat]# yum install tomcat -y 查看一级目录

创建用户和组
[root@master tomcat]# groupadd -r -g 53 tomcat
[root@master tomcat]# useradd tomcat -u 53 -g 53 -r -c "Apache Tomcat" -s /sbin/nologin -d /usr/local/tomcat/
[root@master tomcat]#
配置文件
[root@master tomcat]# vim /usr/lib/systemd/system/tomcat.service
[Unit]Description=Apache TomcatAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingEnvironment=JAVA_HOME=/usr/java/jdk1.8.0_261-amd64Environment=CATALINA_HOME=/usr/local/tomcatExecStart=/usr/local/tomcat/bin/startup.shExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDUser=tomcatGroup=tomcatPrivateTmp=true[Install]WantedBy=multi-user.target[root@master tomcat]# systemctl daemon-reload 在/etc/init.d目录下,创建一个tomcat.service文件,粘贴文件内容
#!/bin/bash## chkconfig: 35 99 28# description: Starts/Stops Apache Tomcat## Tomcat 6 start/stop/status script##Location of JAVA_HOME (bin files)export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64#Add Java binary files to PATHexport PATH=$JAVA_HOME/bin:$PATH#CATALINA_HOME is the location of the bin files of Tomcat export CATALINA_HOME=/usr/local/tomcat #CATALINA_BASE is the location of the configuration files of this instance of Tomcatexport CATALINA_BASE=$CATALINA_HOME#TOMCAT_USER is the default user of tomcatexport TOMCAT_USER=tomcat#TOMCAT_USAGE is the message if this script is called without any optionsTOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"#SHUTDOWN_WAIT is wait time in seconds for java proccess to stopSHUTDOWN_WAIT=20tomcat_pid() {echo `ps -fe | grep $CATALINA_BASE | grep -v grep | awk '{print $2}'`}start() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"else# Start tomcatecho -e "\e[00;32mStarting tomcat\e[00m"#ulimit -n 100000#umask 007#/bin/su -p -s /bin/sh tomcatif [ `user_exists $TOMCAT_USER` = "1" ]thensu $TOMCAT_USER -s /bin/bash -c $CATALINA_HOME/bin/startup.shelsesh $CATALINA_HOME/bin/startup.shfistatusfireturn 0}status(){pid=$(tomcat_pid)if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"else echo -e "\e[00;31mTomcat is not running\e[00m"fi}stop() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mStoping Tomcat\e[00m"#/bin/su -p -s /bin/sh tomcatif [ `user_exists $TOMCAT_USER` = "1" ]thensu $TOMCAT_USER -s /bin/bash -c $CATALINA_HOME/bin/shutdown.shelsesh $CATALINA_HOME/bin/shutdown.shfilet kwait=$SHUTDOWN_WAITcount=0;until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]doecho -n -e "\e[00;31mwaiting for processes to exit\n\e[00m"sleep 1let count=$count+1;doneif [ $count -gt $kwait ]thenecho -n -e "\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\n\e[00m"kill -9 $pidfielseecho -e "\e[00;31mTomcat is not running\e[00m"fireturn 0}user_exists() {if id -u $1 >/dev/null 2>&1thenecho "1"elseecho "0"fi}case $1 instart)start;;stop) stop;;restart)stopstart;;status)status ;;*)echo -e $TOMCAT_USAGE;;esac exit 添加执行权限
[root@master tomcat]# chmod +x /etc/init.d/tomcat.service
[root@master tomcat]# chkconfig --add tomcat.service
启动Tomcat
[root@master tomcat]# service tomcat.service start
/etc/init.d/tomcat.service: line 1: cription:: command not found
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_261-amd64/
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@master tomcat]#
可以开始访问主页了
192.168.186.251:8080

(2)、部署jpress应用
安装数据库mariadb
[root@localhost ~]# yum install mariadb-server -y
jpress 官网: http://jpress.io
创建数据库和用户
[root@localhost ~]# mysql -uroot -p123456 -e "create database jpress DEFAULT CHARACTER SET utf8;"
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost ~]# mysql -uroot -p123456 -e "grant all on jpress.* to jpress@'localhost' identified by '123456';"
mysql: [Warning] Using a password on the command line interface can be insecure.
把下载好的.war文件放入/webapps目录下
[root@localhost ~]# ll
total 20320
-rw-------. 1 root root 1426 Jul 23 08:05 anaconda-ks.cfg
-rw-r--r--. 1 root root 20797013 Aug 2 10:54 jpress-web-newest.war
drwxr-xr-x. 3 root root 19 Jul 23 01:15 mysql
-rw-r--r--. 1 root root 336 Jul 23 23:33 temp_date.sql
drwxr-xr-x. 2 root root 41 Jul 24 03:03 tomcat
[root@localhost ~]# cp jpress-web-newest.war /usr/local/tomcat/webapps/jress-web-newest.war
[root@localhost ~]# ls /usr/local/tomcat/webapps/jress-web-newestMETA-INF robots.txt static templates WEB-INF
使用浏览器访问
http://192.168.186.251:8080/jress-web-newest/install
http://192.168.186.251:8080/jress-web-newest/install

安装完成

相关文章:
WEB集群——http、tomcat
1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。 1. 简述静态网页和动态网页的区别。 1)、静态网页 (1)、什么是静态网页 请求响应信息&…...
Socks5代理:网络安全与爬虫之利器
一、Socks5代理:简介与工作原理 Socks5代理,全称为Socket Secure 5代理,是一种允许用户通过代理服务器进行网络连接的技术。它是Socks协议的最新版本,在网络安全和数据传输方面有着显著的优势。 Socks5代理与其他代理的不同之处在…...
如何兼容低版本浏览器
如何兼容低版本浏览器 分为三个部分来说 HTML 低版本浏览器无法识别新增的HTML5元素,如果要兼容这部分浏览器,需要做以下处理: 对于非可替换元素,比如article、section、header、footer等,这种元素虽然低版本浏览器不识…...
【雕爷学编程】MicroPython动手做(39)——机器视觉之图像基础2
MixPY——让爱(AI)触手可及 MixPY布局 主控芯片:K210(64位双核带硬件FPU和卷积加速器的 RISC-V CPU) 显示屏:LCD_2.8寸 320*240分辨率,支持电阻触摸 摄像头:OV2640,200W像素 扬声器&#…...
gitlab搭建
回到目录 GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。 Gitlab 是被广泛使用的基于 git 的开源代码管理平台, 基于 Ruby on Rails 构建, 主要针对软件开发过程中产生的代码和文档进行管理,…...
JMeter 的使用
文章目录 1. JMeter下载2. JMeter的使用2.1 JMeter中文设置2.2 JMeter的使用2.2.1 创建线程组2.2.2 HTTP请求2.2.3 监听器 1. JMeter下载 官网地址 https://jmeter.apache.org/download_jmeter.cgi https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.2.zip 下载解…...
Java语言 Iterator 如何装换成 List
迭代器如何逆向转换成List集合 在 Java 中,迭代器(Iterator)是一种用于遍历集合中元素的对象,它提供了一种简单而一致的方式来访问集合中的元素,而不需要暴露集合内部的结构。如果我们需要将一个迭代器逆向转换成 Lis…...
国产GOWIN实现低成本实现CSI MIPI转换DVP
CSI MIPI转换DVP,要么就是通用IC操作,如龙讯芯片和索尼芯片,但是复杂的寄存器控制器实在开发太累。对于FPGA操作,大部分都是用xilinx的方案,xilinx方案成本太高,IP复杂。 而用国产GOWIN已经实现了直接mipi …...
Typescript第六章 类型进阶(类型之间的关系,全面性检查,对象类型进阶,函数类型进阶,条件类型等)
文章目录 第六章 类型进阶6.1 类型之间的关系6.1.1 子类型和超类型6.1.2 型变结构和数组型变函数型变 6.1.3 可赋值性6.1.4 类型拓宽const类型多余属性检查 6.1.5 细化辨别并集类型 6.2 全面性检查6.3对象类型进阶6.3.1 对象类型的类型运算符“键入”运算符keyof运算符 6.3.2 R…...
kernel32.dll如何修复,快速解决kernel32.dll缺失的方法
Kernel32.dll是Windows操作系统中一个重要的系统文件,对于系统的正常运行至关重要。然而,由于各种原因,用户可能会遇到kernel32.dll文件的缺失问题。今天小编就来给大家详细的介绍一下kernel32.dll这个文件,并且详细的介绍一下ker…...
初始化前端项目配置 eslint、prettier、husky 等等
每次新项目都要重新配置一遍,有点麻烦,记录一下。 一、配置 ESLint 1.1 核心配置 执行 npm init eslint/config 命令进行初始化,根据提示一路下一步即可,完成后会自动生成 eslintrc 文件并安装相关依赖。 1.2 React 编译模式配…...
嵌入式存储器为AI的实现提供了实现架构
近年来,大脑启发式计算机领域的研究活动获得了巨大的发展。主要原因是试图超越传统的冯诺依曼架构的局限性,后者越来越受存储器-逻辑通信的带宽和等待时间的局限性的影响。在神经形态架构中,内存是分布式的,可以与逻辑共定位。鉴于…...
iOS开发-格式化时间显示刚刚几分钟前几小时前等
iOS开发-格式化时间显示刚刚几分钟前几小时前等 在开发中经常遇到从服务端获取的时间戳,需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 主要用到了NSCalendar、NSDateComponents这两个类 NSString *result nil;NSCalendarUnit components (NSC…...
ffmpeg视频音频命令
视频音频合并 视频音频合并,以视频时间为主,音频短了循环 方法1:混音,视频权重0,volume调节音量,aloop无限循环,duration:first为第一个素材的长度 ffmpeg -i video.mp4 -i audio.mp3 -filter_…...
Jenkins工具系列 —— Jenkins 安装并启动
文章目录 安装涉及相关链接选择安装Jenkins版本安装JenkinsJenkins web页面启动卸载Jenkins 安装涉及相关链接 Jenkins官网: https://www.jenkins.io/zh/ Jenkins下载安装步骤: https://www.jenkins.io/zh/download/ 安装各种版本OpenJDK: h…...
使用中间人攻击的arp欺骗教程
文章目录 前言一、查看网络接口配置第 1 步:从受害者处获取 IP 配置第 2 步:在 Linux 中打开数据包转发第 3 步:使用 arpspoof 将包重定向到您的计算机步骤4:拦截来自路由器的包裹步骤5:从目标的浏览器历史记录中嗅探图…...
设计模式、Java8新特性实战 - List<T> 抽象统计组件
一、背景 在日常写代码的过程中,针对List集和,统计里面的某个属性,是经常的事情,针对List的某个属性的统计,我们目前大部分时候的代码都是这样写,每统计一个变量,就要定义一个值,且…...
【JavaEE初阶】博客系统后端
文章目录 一. 创建项目 引入依赖二. 设计数据库三. 编写数据库代码四. 创建实体类五. 封装数据库的增删查改六. 具体功能书写1. 博客列表页2. 博客详情页3. 博客登录页4. 检测登录状态5. 实现显示用户信息的功能6. 退出登录状态7. 发布博客 一. 创建项目 引入依赖 创建blog_sy…...
day51-Mybatis-Plus/代码生成器
1.Mybatis-Plus 定义:是一个Mybatis的增强工具,只在Mybatis基础上增强不做改变,简化开发,提升效率 2.MP实战 2.1 创建springboot工程,勾选web,引入依赖 <dependency> <groupId>mysql<…...
22.Netty源码之解码器
highlight: arduino-light 抽象解码类 https://mp.weixin.qq.com/s/526p5f9fgtZu7yYq5j7LiQ 解码器 Netty 常用解码器类型: ByteToMessageDecoder/ReplayingDecoder 将字节流解码为消息对象;MessageToMessageDecoder 将一种消息类型解码为另外一种消息类…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
