WEB集群——tomcat

news2024/11/15 19:26:35

1. 简述静态网页和动态网页的区别。

2. 简述 Webl.0 和 Web2.0 的区别。

3. 安装tomcat8,配置服务启动脚本,部署jpress应用。


一、简述静态网页和动态网页的区别

(1)静态网页

1.什么是静态网页    

        请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面称为静态页面

在网站设计中,纯粹 HTML 格式的网页(可以包含图片、视频 JS ( 前端功能实现)、 CSS ( 样式)等)通常 被称为" 静态网页 "

2.静态网页的优势

1. 访问的效率比较高

2. 网页内容是固定不变的,因此,容易被搜索引擎收录

3. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)

3.静态网页的劣势

1. 网页页面交互性交差,因为不能与数据库配合

2. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

4.静态网页的特征

1. 处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等-

2. 地址中不含有问号 " ? " 或 & 等特殊符号。

3. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

4. 页内容是固定不变的,因此,容易被搜索引擎收录

5. 网页页面交互性交差,因为不能与数据库配合

6. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系 统上返回数据(不做任何解析)

(2)动态网页

1.什么是动态网页

          所谓的动态网页是与静态网页相对而言的,也就是说,动态网页的 URL 后缀不是 .html、.htm 、 .xml 、 .shtml 、 .js css 等静态网页的常见扩展名形式,是 .asp 、 .aspx 、 .php 、 .js 、 .do 、 .cgi 等 形式 请求响应信息,发给事务端进行处理,由服务端处理完成,将信息返回给客户端,生成的页面称为“动态页面”

2.动态网页的优势

客户端与服务器交互能力强

3.动态网页的劣势

1. 访问的效率比较低

2. 不便于被搜索引擎收录

(3)两者之间的区别

 静态网页在IE浏览器地址栏里可以看到是html或者htm结尾,网站网页内容固定不变,在服务器端与客户端的页面内容是完全相同的。当用户浏览器向网页服务器请求提供网页内容时,服务器只是将原已设计好的静态HTML文档直接传送给客户端浏览器。页面的内容使用的标准的 HTML编码加上gif图像。要更新网页的时候,只有手动地来更新所有的HTML文件。

        静态网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作HTML文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。而动态网页在地址栏里有asp或者php关键字,在服务器端与客户端的页面内容不相同。最原始的页面存在服务器端,根据用户反馈的内容或者要求,在服务器端计算得出结果以后,直接把结果传递到客户端电脑上显示出来。

 二、简述 Webl.0 和 Web2.0 的区别

1.Web2.0 是相对Web1.0 的新的一类互联网应用的统称。

2.Web1.0 的主要特点在于用户通过浏览器获取信息。

3.Web2.0 则更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。

4.所谓网站内容的制造者是说互联网上的每一个用户不再仅仅是互联网的读者,同时也成为互联网的作者;不再仅仅是在互联网上冲浪,同时也成为波浪制造者;在模式上由单纯的“读”向“写”以及“共同建设”发展;由被动地接收互联网信息向主动创造互联网信息发展,从而更加人性化。

三、安装tomcat8,配置服务启动脚本,部署jpress应用

(1) Tomcat的介绍

Tomcat是 Apache 软件基金会( Apache Software Foundation )的 Jakarta 项目中的一个核心项目,由 Apache、 Sun 和其他一些公司及个人共同开发而成。

        Tomcat服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

        Tomcat和 Nginx 、 Apache(httpd) 、 lighttpd 等 Web 服务器一样,具有处理 HTML 页面的功能,另外它还 是一个Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。不过, Tomcat 处理静态 HTML 的能 力不如Nginx/Apache 服务器。

        目前Tomcat 最新版本为 9.0 。 Java 容器还有 resin 、 weblogic 等。

        Tomcat官网: http://tomcat.apache.org

(2)安装

1. 安装Tomcat和JDK

        JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的 java 应用程序。 JDK 是整个 java 开发的核心,它包含了JAVA 的运行环境( JVM+Java 系统类库)和 JAVA 工具。

[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)

 2.官网中下载tomcat8.5.70的压缩包

wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz

3. 解压

[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
 

4.查看一级目录

 5.创建用户和组

[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]# 

6.配置文件

[root@master tomcat]# 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/tomcat
 
	ExecStart=/usr/local/tomcat/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
 
[root@master tomcat]# systemctl daemon-reload 
 

 7. 在/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 PATH
	export 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 Tomcat
	export CATALINA_BASE=$CATALINA_HOME
 
	#TOMCAT_USER is the default user of tomcat
	export TOMCAT_USER=tomcat
	 
	#TOMCAT_USAGE is the message if this script is called without any options
	TOMCAT_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 stop
	SHUTDOWN_WAIT=20
	 
	tomcat_pid() {
			echo `ps -fe | grep $CATALINA_BASE | grep -v grep | awk '{print $2}'`
	}
	 
	start() {
		pid=$(tomcat_pid)
		if [ -n "$pid" ]
		then
				echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
		else
				# Start tomcat
				echo -e "\e[00;32mStarting tomcat\e[00m"
				#ulimit -n 100000
				#umask 007
				#/bin/su -p -s /bin/sh tomcat
				if [ `user_exists $TOMCAT_USER` = "1" ]
				then
						su $TOMCAT_USER -s /bin/bash -c $CATALINA_HOME/bin/startup.sh
				else
						sh $CATALINA_HOME/bin/startup.sh
				fi
				status
		fi
		return 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" ]
		then
				echo -e "\e[00;31mStoping Tomcat\e[00m"
				#/bin/su -p -s /bin/sh tomcat
				if [ `user_exists $TOMCAT_USER` = "1" ]
				then
					su $TOMCAT_USER -s /bin/bash -c $CATALINA_HOME/bin/shutdown.sh
				else
					sh $CATALINA_HOME/bin/shutdown.sh
				fi
				let kwait=$SHUTDOWN_WAIT
				count=0;
				until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
				do
					echo -n -e "\e[00;31mwaiting for processes to exit\n\e[00m"
					sleep 1
					let count=$count+1;
				done
	 
				if [ $count -gt $kwait ]
				then
					echo -n -e "\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\n\e[00m"
					kill -9 $pid
				fi
		else
				echo -e "\e[00;31mTomcat is not running\e[00m"
		fi
	 
		return 0
	}
	 
	user_exists() {
			if id -u $1 >/dev/null 2>&1
			then
					echo "1"
				else
						echo "0"
				fi
	}
	 
	case $1 in
	 
			start)
			  start
			  ;;
		   
			stop)  
			  stop
			  ;;
		   
			restart)
			  stop
			  start
			  ;;
		   
			status)
			  status    
			  ;;
		   
			*)
			  echo -e $TOMCAT_USAGE
			  ;;
	esac    
	exit 

8.添加执行权限

[root@master tomcat]# chmod +x /etc/init.d/tomcat.service 
[root@master tomcat]# chkconfig --add tomcat.service

 9. 启动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]# 

10.测试访问主页:192.168.136.201:8080

 (3)部署jpress应用

1.安装数据库mariadb

[root@localhost ~]# yum install mariadb-server -y

2.创建数据库和用户

[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.

3.把下载好的.war文件放入/webapps目录下,  jpress 官网: http://jpress.io

[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

4.使用浏览器访问

http://192.168.136.201:8080/jress-web-newest/install

 5.安装完成

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/834713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解码产品经理:深度剖析这个角色的五大职责

了解产品经理的角色 在一个组织中,产品经理的角色是至关重要的。他们不仅需要理解市场动态和用户需求,还需要将这些信息转化为实际的产品策略和行动计划。产品经理在团队中的地位是核心的,他们需要协调各个部门,包括开发、设计、…

可缝合神经网络

文章目录 Stitchable Neural Networks摘要本文方法实验结果 Stitchable Neural Networks 摘要 包含大量强大的预训练模型族(如ResNet/DeiT)的model zoo已经达到了前所未有的范围,这对深度学习的成功有重要贡献。由于每个模型族都由具有不同尺度的预训练模型(例如&…

W5100S-EVB-PICO做DNS Client进行域名解析(四)

前言 在上一章节中我们用W5100S-EVB-PICO通过dhcp获取ip地址(网关,子网掩码,dns服务器)等信息,给我们的开发板配置网络信息,成功的接入网络中,那么本章将教大家如何让我们的开发板进行DNS域名解…

ModaHub魔搭社区——阿里云通义千问宣布开源!70亿参数模型上线魔搭社区,免费可商用

通义千问开源!8月3日,AI模型社区魔搭ModaHub上架两款开源模型Qwen-7B和Qwen-7B-Chat,阿里云确认其为通义千问70亿参数通用模型和对话模型,两款模型均开源、免费、可商用。在多个权威测评中,通义千问7B模型取得了远超国内外同等尺寸模型的效果,成为当下业界最强的中英文7B…

月报总结|Moonbeam 7月份大事一览

炎炎夏日,Moonbeam于越南举办了线下交流会,在EthCC 2023和以太坊社区成员共同讨论多链应用,在Polkadot Decoded中分享了Moonbeam的与众不同之处。 Bear Necessities Hackathon也于本月圆满结束,选出了每个赛道最杰出的项目&#…

记一次公众号-cs客户端捡漏

声明:文中涉及到的技术和工具,仅供学习使用,禁止从事任何非法活动,如因此造成的直接或间接损失,均由使用者自行承担责任。 点点关注不迷路,每周不定时持续分享各种干货。 原文链接:众亦信安&a…

load、unload和pagehide、pageshow

一、load、unload和pagehide、pageshow的主要应用 1)load 和 unload 事件监听web页面的进入和离开,一般用于页面的首次加载、刷新和关闭等操作的监听; 2)pageshow 和 pagehide 事件多用于监听浏览器的前进和后退等。 二、pagesh…

第3集丨Vue 江湖 —— Vue中的事件

目录 一、Vue中事件使用二、事件修饰符2.1 prevent2.2 stop2.3 once2.4 capture2.5 self2.6 passive2.7 修饰符连续写2.8 整合案例 三、键盘事件3.1 Vue 中常用的按键别名3.2 key值绑定3.3 系统修饰符键3.4 keyCode绑定3.5 自定义别名3.6 组合键3.7 案例整合 一、Vue中事件使用…

k8s概念-pv和pvc

回到目录 kubernetes存储卷的分类太丰富了,每种类型都要写相应的接口与参数才行,这就让维护与管理难度加大。 persistenvolume(PV) 是配置好的一段存储(可以是任意类型的存储卷) 也就是说将网络存储共享出来,配置定义成PV。 PersistentVolumeClaim(PVC)是用户pod使…

实例030 窗口颜色的渐变

实例说明 在程序设计时,可以通过设置窗体的BackColor属性来改变窗口的背景颜色。但是这个属性改变后整个窗体的客户区都会变成这种颜色,并且非常单调。如果窗体的客户区可以向标题栏一样能够体现颜色的渐变效果,那么窗体风格将会另有一番风味…

【前端实习生备战秋招】—HTML 和 CSS面试题总结(二)

【前端实习生备战秋招】—HTML 和 CSS面试题总结&#xff08;二&#xff09; 1.有哪些方式可以对一个 DOM 设置它的 CSS 样式&#xff1f; 外部样式表&#xff0c;引入一个外部 css 文件内部样式表&#xff0c;将 css 代码放在 <head> 标签内部内联样式&#xff0c;将 c…

2023年电赛E题报告模板(K210版)--可直接使用

任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 &#xff08;部分&#xff09; 摘要 本文使用K210芯片设计了一个运动目标控制与自动追踪系统。系统包括使用深度学习进行识别激光位置&#xff0c;其中红色激…

Vue2:基础入门

Vue2&#xff1a;基础入门1 Date: April 10, 2023 Sum: vue简介、vue的基本使用、vue的指令、修饰符、过滤器&#xff08;废&#xff09;、小黑的书架、记事本 Tags: * 目标&#xff1a; 能够知道 vue 的基本使用步骤 掌握插值表达式和 v-bind 指令的用法 能够掌握如何使用…

以太网接口指示灯状态分析和电路设计

一、RJ45以太网连接器介绍 以带网络隔离变压器的RJ45接头为例&#xff0c;如HR911105A&#xff0c;其技术参数如下 原理框图 指示灯部分 二、PHY芯片 phy芯片以DP83848CVV/NOPB为例&#xff0c;查看数据手册。引脚26&#xff0c;引脚27和引脚28和LED灯相关&#xff0c;如下截…

DataGrip实时模板的配置

DataGrip实时模板的配置 File→Setting→Editor→Live Templates→点击“”→Live Template 即可新写入一条模板语句 写入新模板 缩写&#xff1a;seld select $END$ from dual; 注意:一开始都是默认无应用的&#xff0c;需要手动配置应用于所有SQL 点击difine&#xff08;…

从零开始 Spring Cloud 9:RabbitMQ

从零开始 Spring Cloud 9&#xff1a;RabbitMQ 图源&#xff1a;laiketui.com RabbitMQ 是一款消息队列中间件&#xff0c;可以用于异步通信。 基础 安装 通过 Docker 安装镜像&#xff1a; docker pull rabbitmq:3-management运行 docker run \-e RABBITMQ_DEFAULT_USER…

微信小程序:点击按钮实现数据加载(带模糊查询)

效果图 代码 wxml: <!-- 搜索框--> <form action"" bindsubmit"search_all_productiond"><view class"search_position"><view class"search"><view class"search_left">工单号:</view…

力扣 416. 分割等和子集

题目来源&#xff1a;https://leetcode.cn/problems/partition-equal-subset-sum/description/ C题解&#xff08;思路来源代码随想录&#xff09; &#xff1a; 背包问题有多种背包方式&#xff0c;常见的有&#xff1a;01背包、完全背包、多重背包、分组背包和混合背包等等。…

实验笔记之——Android项目的适配

android有一个很烦人的点就是版本之间差距较大&#xff0c;且不兼容&#xff0c;导致不同版本之间代码兼容很容易出问题&#xff0c;一个常见的例子就是几年前自己开发的app&#xff0c;几年后再用竟然配置不了。。。为此&#xff0c;写下本博客记录一下配置旧项目的过程。 …

IDA+Frida分析CTF样本和Frid源码和objection模块

文章目录 一些资料IDA调试命令IDA调试安卓的10个技巧objection基本使用 Wallbreaker1frida源码阅读之frida-java 第一个实例EasyJNI第二个实例objection资料 art_trace2.pyart_trace2.js IDAFrida分析CTF样本和Frid源码和objection模块 一些资料 IDA调试命令 adb devices adb…