tomcat部署 虚拟主机配置和多实例部署

2024-06-05 13:04

本文主要是介绍tomcat部署 虚拟主机配置和多实例部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Tomcat服务器简介

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。

1、Java Servlet
运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。与CGI(公共网关接口)功能相类似。

2、JSP全称Java Server Pages
一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。 JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

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

名称功能
web容器完成 Web 服务器的功能
Servlet 容器名字为 catalina,用于处理 Servlet 代码
JSP 容器用于将 JSP 动态网页翻译成 Servlet 代码

4.tomcat的tcp端口:

  1.         8080  负责接收http请求连接的端口       8443  负责接收https请求连接的端口
  2.         8005  用于接收关闭tomcat服务信号的端口
  3.         8009  AJP协议端口,用于与Apache连接使用的端口

二、Tomcat服务部署安装

在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。

安装包
JDK、Tomcat安装包

jdk-8u201-linux-x64.rpm
apache-tomcat-9.0.16.tar.gz

1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.安装JDK

cd /opt
tar xf jdk-8u391-linux-x64.tar    #tar解压缩jdk软件包
mv jdk-8u391-linux-64 /usr/local   #将解压完的软件包移动到/usr/local目录下
java -version #显示java运行版本

3.设置JDK环境变量

vim /etc/profile
export JAVE_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=$JAVE_HOME/jre
export CLASSPATH=.:$JAVE_HOME/lib:$JRE_HOME/lib
export PATH=$JAVE_HOME/bin:$JRE_HOME/bin:$PATHsource /etc/profile     

重新定义环境变量,$PATH要放在工作目录后面,让系统先读取工作目录里的信息

编写个java文件进行验证:

public class Hello {public static void main(String[] args){System.out.println("Hello world");}
}

 4.安装启动Tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

——————启动tomcat——————

/usr/local/tomcat/bin/startup.sh 
netstat -lntp | grep 8080

浏览器访问Tomcat的默认主页 http://192.168.73.100:8080

三、Tomcat 虚拟主机配置

很多时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个Tomcat服务,这样会消耗太多的系统资源。此时,就需要使用到 Tomcat 虚拟主机。例如现在新增两个域名 www.pxl.com 和 www.accp.com,希望通过这两个域名访问到不同的项目内容。

1.在 webapps 目录准备好各个虚拟主机站点使用的网页目录和测试网页文件;创建 xy101和 xy102项目目录和文件

mkdir /usr/local/tomcat/webapps/pxl
mkdir /usr/local/tomcat/webapps/accp
echo "This is pxl page\!" > /usr/local/tomcat/webapps/xy101/index.html
echo "This is accp page\!" > /usr/local/tomcat/webapps/xy102/index.html

2.修改 Tomcat 主配置文件server.xml   

在 Engine 配置段下面添加多个 Host 配置段,并设置不同的虚拟机的配置参数

vim /usr/local/tomcat/conf/server.xml

添加:


3.重启tomcat服务 ,客户端浏览器访问验证

四、Tomcat多实例部署:

1.修改tomcat主配置文件 server.xml 中的三个端口号 8080  8005  8009,每个实例要不一样

vim /usr/local/tomcat/conf/server.xml


2.修改tomcat启动停止脚本 startup.sh  shutdown.sh ,添加环境变量 export TOMCAT_HOME  CATALINA_HOME  CATALINA_BASE 都指向每个实例各自的工作目录

3.重启tomcat客户端测试

这篇关于tomcat部署 虚拟主机配置和多实例部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1033135

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署