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 将一种消息类型解码为另外一种消息类…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
webpack面试题
面试题:webpack介绍和简单使用 一、webpack(模块化打包工具)1. webpack是把项目当作一个整体,通过给定的一个主文件,webpack将从这个主文件开始找到你项目当中的所有依赖文件,使用loaders来处理它们&#x…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
[拓扑优化] 1.概述
常见的拓扑优化方法有:均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有:有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...
【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...
