安装部署Tomcat服务器

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
密钥管理服务KMS,1000个密钥,100个凭据,1个月
.cn 域名,1个 12个月
简介:

安装部署Tomcat服务器(动态只支持java代码)
本案例要求部署Tomcat服务器,具体要求如下:
安装部署JDK基础环境
安装部署Tomcat服务器
创建JSP测试页面,文件名为test.jsp,显示服务器当前时间
然后客户机访问此Web服务器验证效果:
访问Tomcat服务器的8080端口,浏览默认首页
访问Tomcat服务器的8080端口,浏览默认测试页面

server是Tomcat实现的顶层元素,service是一个集合,它有一个或多个Connector以及一个Engine组成
Connector负责接收用户请求和向客户返回响应结果
Engine负责处理所有Connector所获得的客户请求,它处理在同一个service中所有Connector元素接收到的客户请求,它匹配请求和自己的虚拟
主机,并将请求发给对应的<Host>处理,默认的主机是localhost.

一个<Engine>元素可以包括多个<Host>元素,每个<Host>的元素定义一个虚拟主机,它包括一个或多个web应用

步骤一:部署服务器软件
1)使用RPM安装JDK环境
yum –y install java-1.8.0-openjdk //安装JDK
yum –y install java-1.8.0-openjdk-headless //安装JDK
java –version //查看JAVA版本
2)安装Tomcat
tar -xzf apache-tomcat-8.0.30.tar.gz
mv apache-tomcat-8.0.30 /usr/local/tomcat
ls /usr/local/tomcat
bin/ 主程序目录
lib/ 库文件目录
logs/ 日志目录 
temp/ 临时目录
work/ 自动编译目录jsp代码转换servlet

conf/ 配置文件目录
webapps/ 页面目录
server.xml 主配置文件
context.xml 定义会话管理器、JDBC等
tomcat-users.xml 用户认证的账号和密码配置文件

步骤二:
1)创建测试JSP页面
vim /usr/local/tomcat/webapps/ROOT/test.jsp
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%> //显示服务器当前时间
</center>
</body>
</html>

2)启动服务
/usr/local/tomcat/bin/startup.sh
/usr/local/tomcat/bin/shutdown.sh
或/usr/local/tomcat/bin/catalina.sh start/stop

步骤三:验证测试
1)服务器验证端口信息
netstat -nutlp |grep :8080 //查看java监听的端口

2)客户端浏览测试页面
firefox http://127.0.0.1:8080
firefox http://127.0.0.1:8080/test.jsp

使用Tomcat部署虚拟主机
实现两个基于域名的虚拟主机,域名分别为:www.aa.com和 www.bb.com
使用www.aa.com域名访问的页面根路径为/usr/local/tomcat/aa/ROOT
使用www.bb.com域名访问的页面根路径为/usr/local/tomcat/bb/ROOT
访问页面时支持SSL加密通讯
私钥、证书存储路径为/usr/local/tomcat/conf/cert
每个虚拟主机都拥有独立的访问日志文件
修改server.xml配置文件,创建两个域名的虚拟主机,修改如下两个参数块:
vim /usr/local/tomcat/conf/server.xml
… …
<Host name=www.aa.com appBase="aa" unpackWARS="true" autoDeploy="true">
</Host>
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
</Host>
… …

修改server.xml配置文件,通过在<Host>中添加Context,我们也可以指定页面的根路径位置,默认为ROOT
<Context path="/test" docBase="/var/www/html/" />

生产SSL密钥与证书文件
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore

3.3 步骤
步骤一:配置服务器虚拟主机
1)修改server.xml配置文件,创建虚拟主机
vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
</Host>
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
</Host>

2)创建虚拟主机对应的页面根路径
mkdir -p /usr/local/tomcat/{aa,bb}/ROOT
echo "AAA" > /usr/local/tomcat/aa/ROOT/index.html
echo "BBB" > /usr/local/tomcat/bb/ROOT/index.html

3)重启Tomcat服务器
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

4)客户端设置host文件,并浏览测试页面进行测试
vim /etc/hosts
… …
192.168.4.5 www.aa.com www.bb.com
firefox http://www.aa.com:8080/
firefox http://www.bb.com:8080/

步骤二:修改网站的首页目录(非必须)
1)使用docBase参数可以修改默认网站首页路径
vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" /> Context 指定页面的根路径位置不填默认为ROOT
</Host> docBae指定路径位置
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
</Host>
… …
mkdir /usr/local/tomcat/aa/base
echo "BASE" > /usr/local/tomcat/aa/base/index.html
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

2)测试查看页面是否正确
firefox http://www.aa.com:8080/ //结果为base页面的内容

步骤三:跳转(非必须)
1)当用户访问http://www.aa.com/test打开/var/www/html目录下的页面
vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
</Host>
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
</Host>
… …

echo "Test" > /var/www/html/index.html
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

2)测试查看页面是否正确
firefox http://www.aa.com:8080/test 
返回/var/www/html/index.html的内容

步骤四:配置Tomcat支持SSL加密网站
1)创建加密用的私钥和证书文件
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore //提示输入密码为:123456

2)再次修改server.xml配置文件,创建支持加密连接的Connector
vim /usr/local/tomcat/conf/server.xml
… …
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/usr/local/tomcat/keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS" />

3)重启Tomcat服务器
/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start

4)客户端设置host文件,并浏览测试页面进行测试
vim /etc/hosts
… …
192.168.4.5 www.aa.com www.bb.com
firefox https://www.test.com:8443/
firefox https://www.test.com:8443/

步骤四:为每个不同的虚拟web配置一个不同名字的Tomcat日志
1)为每个虚拟主机设置不同的日志文件
vim /usr/local/tomcat/conf/server.xml
<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="aa_access" suffix=".log"
pattern="common"/>
</Host>
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="bb_access" suffix=".log"
pattern="common"/>
</Host>
2)重启Tomcat服务器
/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start

3)查看服务器日志文件
ls /usr/local/tomcat/logs/

 Tomcat优化

vim /usr/local/tomcat/bin/catalina.sh
<Connector port="8080">
protocol="HTTP/1.1"
maxThreads="1000" 客户请求最大线程数
minSpareThreads="100"
maxSpareThreads="1000"
enableLookups="false"
URlEncoding="utf-8"
acceptCount="1000" 监听端口队列最大数



     本文转自夜流璃雨 51CTO博客,原文链接:http://blog.51cto.com/13399294/2061814,如需转载请自行联系原作者


相关文章
|
2月前
|
弹性计算 监控 负载均衡
|
11天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
166 78
|
25天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
161 64
|
4天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
41 25
|
1月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
182 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
11天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
51 7
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
138 26
|
2月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
2月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
265 4
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
86 4