世界杯赔率_男乒世界杯决赛 - fjpftz.com

HOME> 意大利无缘世界杯> Tomcat 服务器

Tomcat 服务器

2025-09-25 18:16:43

tomcat是一个免费的,开放源代码的Web应用服务器,也是一个Servlet/JSP容器。Tomcat作为 Servlet容器,负责处理客户请求,把请求传送给servlet,并将servlet的响应传送回给客户。

Tomcat由一系列的组件构成,其中核心的组件有三个:

(1) web容器:完成web服务器的功能。

(2) servlet容器:名字为catalina,用于处理Servlet代码。

(3) JSP容器:用于将JSP动态网页翻译成Servlet代码。

servlet

Servlet 可以理解为是一个服务连接器,是用Java编写的服务器端程序,具有独立于平台和协议的特性,简单的理解: servlet就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。

JSP

JSP 是一种动态网页开发技术。它使用JSP 标签在HTML,网页中插入Java代码。标签通常以 <% 开头,以 %> 结束。

JSP是一种Java servlet,主要用于实现Java web 应用程序的用户界面部分。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

Java简介

java是一种跨平台、面向对象的程序设计语言,java技术具有卓越的通用性、高效性、平台移植性和安全性。

Java体系

java SE (标准版)

java EE (企业版)

JDK简介

JDK(Java Dveve | opement Kit)是Sun针对Java开发者推出的Java语言的软件开发工具包

JDK是整个Java的核心

包括Java运行环境

Java工具(编译、排错、打包等工具)

Java基础的类库

JDK简介

JRE(Java Runtime Environment,Java运行环境),JRE是JDK的子集

JRE包括

Java虚拟机(jvm)

Java核心类库和支持文件

不包含开发工具(JDK)——编译器、调试器和其它工具

Java Servlet

servlet是java扩展Web服务器功能的组件规范

常见Servlet容器

-IBM websphere

-Oracle weblogic

-Apache tomcat

-RedHat Jboss

安装部署Tomcat服务器

部署Tomcat服务器软件

1)使用RPM安装JDK环境

[root@web1 ~]# yum -y install java-1.8.0-openjdk #安装java-JDK软件包

[root@web1 ~]# java -version #查看JAVA版本号

2)安装Tomcat

[root@web1 ~]# ls ~/lnmp_soft/apache-tomcat-8.0.30.tar.gz #查看软件包

/root/lnmp_soft/apache-tomcat-8.0.30.tar.gz

[root@web1 ~]# cd lnmp_soft/ #进入lnmp_soft

[root@web1 lnmp_soft]# tar -xf apache-tomcat-8.0.30.tar.gz #原地释放解压包

[root@web1 lnmp_soft]# cp -r apache-tomcat-8.0.30 /usr/local/tomcat #复制一份源文件(模板)到/usr/local/tomcat目录,后续可用来还原。

[root@web1 lnmp_soft]# ls /usr/local/tomcat #查看/usr/local/tomcat

bin/ #主程序目录

webapps/ #页面目录

conf/ #配置文件目录

logs/ #日志目录

temp/ #临时目录

work/ #自动编译目录

lib/ #库文件目录

3)启动服务

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh #启动服务

4)服务器验证端口信息

[root@web1 ~]# ss -nutlp |grep java #查看java监听的端口

tcp 0 0 :::8080 :::* LISTEN 2778/java

tcp 0 0 :::8009 :::* LISTEN 2778/java

tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2778/java

提示:如果检查端口时,8005端口启动非常慢,默认tomcat启动需要从/dev/random读取大量的随机数据,默认该设备生成随机数据的速度很慢,可用使用下面的命令用urandom替换random。

[root@web1 ~]# mv /dev/random /dev/random.bak

[root@web1 ~]# ln -s /dev/urandom /dev/random #创建软连接

[root@web1 ~]# killall java #杀死java进程

[root@web1 ~]# cd /usr/local/tomcat #进入tomcat

[root@web1 tomcat]# bin/startup.sh #启动服务

[root@web1 ~]# ss -nutlp |grep java #查看java端口

另外,还可以使用方案二解决:

[root@web1 ~]# yum install rng-tools #安装rng-tools软件包

[root@web1 ~]# systemctl start rngd #开启rngd

[root@web1 ~]# systemctl enable rngd #开机自启rngd

5)客户端浏览测试页面

http://192.168.99.100:8080

案例2:使用Tomcat部署虚拟主机

问题

沿用练习二,使用Tomcat部署加密虚拟主机,实现以下要求:

实现两个基于域名的虚拟主机,域名分别为:www.a.com和 www.b.com访问页面时支持SSL加密通讯每个虚拟主机都拥有独立的访问日志文件方案

修改server.xml配置文件,创建www.b.com虚拟主机,顺便修改原有虚拟主机为www.a.com

步骤

实现此案例需要按照如下步骤进行。

步骤一:配置服务器虚拟主机

1)修改server.xml配置文件,创建虚拟主机

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml #修改server.xml配置文件

...

...

...

2)创建虚拟主机对应的页面根路径并测试

[root@web1 tomcat]# mkdir -p web_b/ROOT #之后创建b网站的目录

[root@web1 tomcat]# echo "tomcat-A~~~" > webapps/ROOT/index.html

[root@web1 tomcat]# echo "tomcat-B~~~" > web_b/ROOT/index.html

tail -1 /etc/hosts #查看域名解析

192.168.99.100 www.a.com www.b.com

[root@web1 tomcat]# bin/shutdown.sh #关闭tomcat

[root@web1 tomcat]# bin/startup.sh #开启

[root@web1 tomcat]# curl www.a.com:8080 #测试

tomcat-A~~~

[root@web1 tomcat]# curl www.b.com:8080

tomcat-B~~~

3)查看虚拟主机www.a.com的配置

unpackWARs="true" #自动解war包

autoDeploy="true" #自动更新开发工程师编写的网站功能

[root@proxy tomcat]# yum -y install java-1.8.0-openjdk-devel #安装可以制作war包的工具

[root@proxy tomcat]# jar -cf a.war /var/log #之后可以使用jar命令打war包

[root@proxy tomcat]# cp a.war webapps #将war包放入虚拟主机的网页目录

[root@proxy tomcat]# ls webapps #检查,可以看到已经自动解开,如果无效可以尝试重启tomcat

3 tomcat访问路径与页面位置

1)测试1

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

...

...

[root@web1 ~]# echo "web_b/ROOT/index.html" > web_b/ROOT/index.html #默认页面路径

[root@web1 ~]# echo "web_b/index.html" > web_b/index.html #创建素材,定义新路径

[root@web1 ~]# curl www.b.com:8080 #测试可以看到的是默认的页面路径

web_b/ROOT/index.html

[root@web1 ~]# bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# bin/stattup.sh #开启Tomcat

[root@web1 ~]# curl www.b.com:8080 #重启后测试可以看到新路径

web_b/index.html

2)测试

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

...

#修改成abc

...

[root@web1 ~]# mkdir web_b/abc #创建测试目录

[root@web1 ~]# echo "web_b/abc/index.html" > web_b/abc/index.html #测试页面

[root@web1 ~]# bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# bin/stattup.sh #开启Tomcat

[root@proxy tomcat]# curl www.b.com:8080 #查看,见到新路径

web_b/abc/index.html

3)测试

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

...

#修改成/abc

...

[root@web1 ~]# mkdir /abc #创建测试目录

[root@web1 ~]# echo "/abc/index.html" > /abc/index.html #创建测试文件

[root@web1 ~]# bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# bin/stattup.sh #开启Tomcat

[root@proxy tomcat]# curl www.b.com:8080 #得到新路径

/abc/index.html

4)测试

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

...

#path后面添加内容可以匹配用户访问路径,当用户访问www.b.com:8080/test/时,看到的是/abc的内容,如果访问www.b.com:8080就看到web_b/ROOT的内容

[root@web1 ~]# bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# bin/stattup.sh #开启Tomcat

[root@proxy tomcat]# curl www.b.com:8080/test/

/abc/index.html

[root@proxy tomcat]# curl www.b.com:8080

web_b/ROOT/index.html

5)测试

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

...

#将/abc改成abc当用户访问www.b.com:8080/test/时,可以看到web_b/abc里的内容当用户访问www.b.com:8080时就看到web_b/ROOT的内容

[root@web1 ~]# bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# bin/stattup.sh #开启Tomcat

[root@proxy tomcat]# curl www.b.com:8080/test/

web_b/abc/index.html

[root@proxy tomcat]# curl www.b.com:8080

web_b/ROOT/index.html

步骤四:配置Tomcat支持SSL加密网站

1)创建加密用的私钥和证书文件

[root@web1 ~]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore

#提示输入密码为:123456

#-genkeypair 生成密钥对

#-alias tomcat 密钥别名

#-keyalg RSA 定义密钥算法为RSA算法

#-keystore 定义密钥文件存储在:/usr/local/tomcat/keystore

2)再次修改server.xml配置文件,创建支持加密连接的Connector

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

...

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile="/usr/local/tomcat/keystore" keystorePass="123456"/>

...

#备注,默认这段Connector被注释掉了,打开注释,添加密钥信息即可

3)重启Tomcat服务器

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh #打开Tomcat

4)客户端设置host文件,并浏览测试页面进行测试(proxy可以充当客户端角色)

[root@proxy ~]# vim /etc/hosts

… …

192.168.99.100 www.a.com www.b.com

分别访问测试

https://www.a.com:8443/

https://www.b.com:8443/

步骤五:配置Tomcat日志

1)为www.b.com虚拟主机开启日志

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

.. ..

...

#从默认localhost虚拟主机中把Valve这段复制过来,适当修改下即可

prefix="www-b-com" suffix=".log"

pattern="%h %l %u %t "%r" %s %b" />

2)重启Tomcat服务器

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh #关闭Tomcat

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh #打开Tomcat

3)查看服务器日志文件

[root@web1 ~]# ls /usr/local/tomcat/logs/

案例3:使用Maven部署网站系统

1 问题

通过安装配置Maven,实现如下目标:

配置镜像地址打包并上线网站项目2 方案

通过tar包安装Maven

释放tar包,拷贝到/usr/local目录安装并运行数据库打包网站项目,之后利用tomcat上线该网站3 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装maven工具,以及java环境

将三个文件传入虚拟机root的家目录,原地释放

apache-maven-3.6.3-bin.tar.gz #maven工具包

cms.tar.gz #网站项目

m2.tar.gz #依赖程序,释放之后是隐藏目录.m2

1)释放tar包,并拷贝到指定目录

[root@web1 ~]# tar -xf apache-maven-3.6.3-bin.tar.gz

[root@web1 ~]# mv apache-maven-3.6.3 /usr/local/maven

2)安装java依赖包

[root@web1 ~]# yum -y install java-1.8.0-openjdk

[root@web1 ~]# yum -y install java-devel

3)修改镜像地址,在第158行下添加

[root@web1 ~]# vim /usr/local/maven/conf/settings.xml

nexus-aliyun

*

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

步骤二:配置数据库并打包项目

1)配置数据库

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

[root@web1 ~]# systemctl start mariadb

[root@web1 ~]# cd CMS/

[root@web1 CMS]# cp src/main/resources/shishuocms.properties . #拷贝网站数据库配置文件到当前目录,该文件定义了数据的用户名和密码等信息

[root@web1 CMS]# mysql -uroot < sql/install.sql #导入网站相关数据库文件

Enter password: 直接回车

[root@web1 CMS]# mysqladmin password #修改数据库密码

New password: #接下来输入12345678

Confirm new password: #在输入一次12345678

如果数据库密码输入错误

[root@web1 CMS]# mysqladmin password -uroot -p #改密码,先输入旧密码,然后输入两次新密码

如果数据库密码忘记

[root@web1 CMS]# systemctl stop mariadb #停服务

[root@web1 CMS]# yum -y remove mariadb-server #删除

[root@web1 CMS]# rm -rf /var/lib/mysql/ #删除数据库文件,这样密码就没了

[root@web1 CMS]# yum -y install mariadb-server #重装

[root@web1 CMS]# systemctl start mariadb #启动数据库

2)打包项目

[root@web1 CMS]# /usr/local/maven/bin/mvn clean package #按照之前定义的

公网服务器地址、数据库配置等内容打包项目,注意该命令要在CMS目录进行

步骤三:上线测试

[root@web1 CMS]# cp ~/lnmp_soft/apache-tomcat-8.0.30/conf/server.xml /usr/local/tomcat/conf/

[root@web1 CMS]# cp: 是否覆盖 "/usr/local/tomcat/conf/server.xml"? y #把tomcat的配置文件恢复默认

[root@web1 CMS]# bin/shutdown.sh #关闭Tomcat

[root@web1 CMS]# bin/stattup.sh #开启Tomcat

[root@web1 CMS]# rm -rf /usr/local/tomcat/webapps/ROOT #删除原有默认页面目录

[root@web1 CMS]# cp target/shishuocms-2.0.1.war /usr/local/tomcat/webapps /ROOT.war #将新项目移动到tomcat中,然后会自动解包,然后真机打开浏览器访问192.168.99.100:8080看到“师说”页面则成功

最新发表
友情链接