WEB集群——http、tomcat

news2025/1/19 10:28:41

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

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

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


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

1)、静态网页

(1)、什么是静态网页

         请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面称为静态页面
在网站设计中,纯粹 HTML 格式的网页(可以包含图片、视频 JS ( 前端功能实现)、 CSS ( 样式)等)通常 被称为" 静态网页 "

(2)、静态网页的优势

1. 访问的效率比较高
2. 网页内容是固定不变的,因此,容易被搜索引擎收录
3. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)

(3)、静态网页的劣势

1. 网页页面交互性交差,因为不能与数据库配合
2. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

(4)、静态网页的特征

1. 处理文件类型:如.htmljpg.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关键字,在服务器端与客户端的页面内容不相同。最原始的页面存在服务器端,根据用户反馈的内容或者要求,在服务器端计算得出结果以后,直接把结果传递到客户端电脑上显示出来。

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

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

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

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

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


3. 安装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)、安装TomcatJDK

        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)

        官网中下载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 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 

         在/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 

        添加执行权限

[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/installhttp://192.168.186.251:8080/jress-web-newest/install

         安装完成

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

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

相关文章

一文说清楚支付架构

作者:陈斌 支付的技术架构是为了保障能够顺利处理支付请求而设计的结构体系。从系统的角度看,它包括了计算机系统的软件、硬件、网络和数据等。从参与的主体角度来看,它涉及交易的付款方、收款方、支付机构、银行、卡组织和金融监管机构等。要…

批量计算直角三角形两个直角边对应斜边的numpy.hypot()方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 给出多个三角形的两条直角边长度 批量计算出这些三角形的斜边长度 numpy.hypot() [太阳]选择题 以下代码的输出结果是? import numpy as np a np.array([3, 4, 30]) b np.array([4, 3, 40])…

第四章 数据库安全性

问题的提出 (1)数据库的一大特点是数据可以共享 (2)数据共享必然带来数据库的安全性问题 (3)数据库系统中的数据共享不能是无条件的共享 这就引发了数据库安全性问题 1.数据库安全性概述 数据库的安全性…

基于SpringBoot+Vue的漫画网站设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

利用 Python 结合 UI 来模拟实现多人聊天

一、界面功能展示 1、设置一个通信 用户1 2、设置通信 用户2 3、进入聊天功能界面 4、发送信息来实现实时通信 二、代码实现 1、服务器端 (服务器需要能够与客户机进行直接通信,客户机之间不需要能够通信) 服务器需要配置监听的IP 0.0.…

改进粒子群算法优化BP神经网络---回归+分类两种案例

今天采用改进的粒子群算法(LPSO)优化算法优化BP神经网络。本文选用的LPSO算法是之前作者写过的一篇文章:基于改进莱维飞行和混沌映射(10种混沌映射随意切换)的粒子群优化算法,附matlab代码 文章一次性讲解两种案例,回归…

Mr. Cappuccino的第58杯咖啡——MacOS配置Maven和Java环境

MacOS配置Maven和Java环境 查看Mac使用的是哪个shell下载并准备Maven下载Maven配置前准备 下载并安装JDK下载JDK安装JDK 配置Maven和Java环境添加配置加载配置 验证环境 查看Mac使用的是哪个shell echo $SHELL如果使用的是bash,则使用以下命令 open ~/.bash_profi…

Java课题笔记~ MyBatis接口开发(代理开发)

使用XML文件进行开发,在调用SqlSession进行操作时,需要指定MyBatis映射文件中的方法,这种调用方式过于烦琐。为解决此问题,MyBatis提供了接口开发的方式。 接口开发的目的: 解决原生方式中的硬编码 简化后期执行SQL …

PHP语言基础知识(超详细)

文章目录 前言第一章 PHP语言学习介绍 1.1 PHP部署安装环境1.2 PHP代码工具选择 第二章 PHP代码基本语法 2.1 PHP函数知识介绍2.2 PHP常量变量介绍 2.2.1 PHP变量知识:2.2.2 PHP常量知识: 2.3 PHP注释信息介绍2.4 PHP数据类型介绍 2.4.1 整形数据类型2.4…

【elementui】解决el-select组件失去焦点blur事件每次获取的是上一次选中值的问题

目录 【问题描述】 【问题摘要】 【分析问题】 【完整Test代码】 【封装自定义指令】 ↑↑↑↑↑↑↑↑↑↑↑↑ 不想看解决问题过程的可点击上方【封装自定义指令】目录直接跳转获取结果即可~~~ 【问题描述】 一位朋友遇到这么一个开发场景:在表格里面嵌入el-…

Packet Tracer - 配置初始交换机设置

Packet Tracer - 配置初始交换机设置 拓扑 目标 第 1 部分:检验默认交换机配置 第 2 部分:配置基本交换机配置 第 3 部分:配置 MOTD 标语 第 4 部分:将配置文件保存到 NVRAM 第 5 部分:配置 S2 拓扑图 背景信息…

【Mybatis】XML映射文件

目录 11.3XML映射文件 1.select 2.insert、update、delete 3.Sql 4.parameters(参数) 5.resultMap 6.resultMap 使用示例 (1)在先前创建的数据库stu中创建表student 2,并插入若干条数据,代码如下: (2)创建工程mybatis_ResultMap_demo。 (…

Qt项目---简单的计算器

在这篇技术博客中,我们将介绍如何使用Qt框架实现一个简单的计算器应用。我们将使用C编程语言和Qt的图形用户界面库来开发这个应用,并展示如何实现基本的算术操作。 项目设置 首先,我们需要在Qt Creator中创建一个新的Qt Widgets应用程序项目…

7.物联网操作系统互斥信号量

优先级翻转问题 优先级翻转功能需求 优先级翻转功能实现 一。实验:优先级翻转问题 1.优先级翻转的解释 (1)有三个任务,一个任务L优先级最低,一个任务M优先级为中间,一个任务H优先级为最高。 &#xff08…

SpringBoot集成企业微信群聊机器人消息

目录 参考文档概述一、功能作用二、应用场景三、 群机器人发送限制四、创建机器人1、添加2、群机器人Webhook地址 五、发送消息1、文本 text请求体 图文连接 news 参考文档 官方文档 企业微信群机器人应用 概述 现在很多企业都在使用企业微信进行工作交流,自从企…

静态路由下一跳地址怎么确定(静态路由配置及讲解)

一、用到的所有命令及功能 ①ip route-static 到达网络地址 子网掩码 下一跳 // 配置静态路由下一跳指的是和当前网络直接连接的路由器的接口地址非直连网段必须全部做路由路径是手工指定的,在大规模网络上不能用,效率低,路径是固定的稳定的…

寻找旋转排序数组中的最小值——力扣153

文章目录 题目描述解法 二分法 题目描述 解法 二分法 int findMin(vector<int>& nums){int l0, rnums.size()-1;while(l<r){int mid (lr)/2;if(nums[mid]<nums[r]) rmid;else lmid1;}return nums[l];}

基于freeRTOS的垃圾桶(cubeMX)

前言&#xff1a;最近学习了freertos的任务、队列、互斥量、任务标志位等理论知识&#xff0c;看着都会就怕一练就废&#xff0c;于是打算做些项目巩固一下&#xff0c;加深一下对freertos知识的理解。 一、项目介绍 项目简单需求&#xff1a; 检测靠近时&#xff0c;垃圾桶自…

APUE学习62章终端(二): stty命令特殊字符终端标志

1. stty命令 stty命令的英文解释: 很明显stty有一个-F参数 所以准确的说: stty命令是设置当前终端驱动程序(也有可能直接配置了硬件&#xff0c;这点目前不清楚)的属性&#xff0c;使当前终端的驱动程序能够使能/去使能一些特殊字符的识别与处理等等 2. stty命令的结构 3. 终端…

Python web实战之 Django 的 ORM 框架详解

本文关键词&#xff1a;Python、Django、ORM。 概要 在 Python Web 开发中&#xff0c;ORM&#xff08;Object-Relational Mapping&#xff0c;对象关系映射&#xff09;是一个非常重要的概念。ORM 框架可以让我们不用编写 SQL 语句&#xff0c;就能够使用对象的方式来操作数据…