杭州市网站制作/千牛怎么做免费推广引流

杭州市网站制作,千牛怎么做免费推广引流,做短连接的网站,网上商城小程序源码🏡作者主页:点击! Tomcat服务器📝专栏:点击! 🐧Linux高级管理防护和群集专栏:点击! ⏰️创作时间:2025年3月18日14点14分 最近在折腾 Tomcat 的时候&…

🏡作者主页:点击! 

Tomcat服务器📝专栏:点击!

🐧Linux高级管理防护和群集专栏:点击!

⏰️创作时间:2025年3月18日14点14分


最近在折腾 Tomcat 的时候,遇到了一个需求:需要在一台服务器上跑多个网站,每个网站用不同的域名访问。乍一看,这不就是虚拟主机的活儿嘛!但对 Tomcat 的虚拟主机配置不太熟,查了不少资料,踩了几个坑,终于搞定了。于是就想着把整个过程整理下来,分享给有类似需求的小伙伴,希望能少走弯路。

这篇文章主要讲的是在 CentOS 系统上,如何一步步配置 Tomcat 的虚拟主机。内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定。

1. 准备虚拟主机的目录和内容

为每个虚拟主机创建独立的目录,并放置测试文件。

创建目录
mkdir -p /var/www/site1
mkdir -p /var/www/site2
添加测试文件
echo "Welcome to Site 1" > /var/www/site1/index.html
echo "Welcome to Site 2" > /var/www/site2/index.html

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

编辑 Tomcat 的 server.xml 文件:

vim $CATALINA_HOME/conf/server.xml

找到 <Engine> 标签(通常在 <Service name="Catalina"> 下),并在其中添加两个 <Host> 配置块。

修改后的配置示例:

<Engine name="Catalina" defaultHost="localhost"><!-- 默认的 localhost 配置 --><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="${catalina.home}/webapps/ROOT" /></Host><!-- 虚拟主机 1 --><Host name="www.site1.com" appBase="" unpackWARs="true" autoDeploy="true"><Context path="" docBase="/var/www/site1" /></Host><!-- 虚拟主机 2 --><Host name="www.site2.com" appBase="" unpackWARs="true" autoDeploy="true"><Context path="" docBase="/var/www/site2" /></Host></Engine>
配置说明
  • name:虚拟主机的域名,例如 www.site1.comwww.site2.com
  • appBase:设置为空字符串 "",因为我们直接指定了 docBase。 对应应用部署的目录
  • docBase:虚拟主机的文档根目录,分别为 /var/www/site1/var/www/site2
  • path:设置为 "",表示虚拟主机的根路径(/)。

补充说明:Engine节点 是核心组件之一 用于管理虚拟主机 下面可以定义多个host节点


访问测试


4. 重启 Tomcat

重新启动 Tomcat 以应用新的配置:

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

5. 测试虚拟主机

在浏览器中访问以下地址:

访问 http://www.site1.com:8080,应显示 Welcome to Site 1

访问 http://www.site2.com:8080,应显示 Welcome to Site 2


注意事项

  1. 防火墙配置 如果您的 Tomcat 运行在非默认端口(如 80),需要确保防火墙允许该端口的流量。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
  1. DNS 配置 如果在生产环境中使用,需要在 DNS 服务器中配置 www.site1.comwww.site2.com 的域名解析到服务器的公网 IP。
  2. 生产环境建议
    • 使用 Apache 或 Nginx 作为反向代理,将域名请求转发到 Tomcat 的虚拟主机配置 HTTPS 以保证安全性。

总结

搞定之后回头看,其实配置 Tomcat 虚拟主机并不难,关键是要细心,别漏掉小细节。比如:

  • 目录路径:一定要确认 docBase 指向的目录存在,并且权限设置正确。
  • 防火墙:别忘了开放 Tomcat 的端口,不然你本地测得好好的,外网却访问不了。
  • DNS 配置:如果是线上环境,域名解析必须指向服务器的公网 IP。
  • 安全性:生产环境建议用 Nginx 或 Apache 做反向代理,别直接暴露 Tomcat,顺便把 HTTPS 配置上。

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

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

相关文章

dfs刷题排列问题 + 子集问题 + 组和问题总结

文章目录 一、排列问题全排列II题解代码 优美的排列题解代码 二、子集问题字母大小写全排列题解代码 找出所有子集的异或总和再求和题解代码 三、组合问题电话号码的字母组合题解代码 括号生成题解代码 组合题解代码 目标和题解代码 组合总和题解代码 总结 一、排列问题 全排列…

【Linux】VMware17 安装 Ubuntu24.04 虚拟机

目录 安装教程 一、下载 Ubuntu 桌面版iso映像 二、安装 VMware 三、安装 Ubuntu 桌面版 VMware 创建虚拟机 挂载 Ubuntu ISO 安装 Ubuntu 系统 安装教程 一、下载 Ubuntu 桌面版iso映像 链接来自 清华大学开源软件镜像站 ISO文件地址&#xff1a;ubuntu-24.04.2-des…

CVPR2025 | 对抗样本智能安全方向论文汇总 | 持续更新中~

汇总结果来源&#xff1a;CVPR 2025 Accepted Papers 若文中出现的 论文链接 和 GitHub链接 点不开&#xff0c;则说明还未公布&#xff0c;在公布后笔者会及时添加. 若笔者未及时添加&#xff0c;欢迎读者告知. 文章根据题目关键词搜索&#xff0c;可能会有遗漏. 若笔者出现…

PostgreSQL_数据回退,数据库导出、导入

目录 前置&#xff1a; 1 数据回退 1.1 代码 1.2 pgAdmin4 中查看 1&#xff09;t_daily 2) t_stock_daily 2 数据库导出、导入 前置&#xff1a; 本博文是一个系列。在本人“数据库专栏”-》“PostgreSQL_”开头的博文。 1 数据回退 上一节“PostgreSQL_数据下载并…

golang单机锁实现

1、锁的概念引入 首先&#xff0c;为什么需要锁&#xff1f; 在并发编程中&#xff0c;多个线程或进程可能同时访问和修改同一个共享资源&#xff08;例如变量、数据结构、文件&#xff09;等&#xff0c;若不引入合适的同步机制&#xff0c;会引发以下问题&#xff1a; 数据竞…

【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解

【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解 一、前言 鸿蒙中实现弹框目前官方提供openCustomDialog和CustomDialog两种模式。推荐前者&#xff0c;详情见下图和官网文档链接&#xff1a; https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V14/arkts-u…

机器学习算法实战——天气数据分析(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 引言 天气数据分析是气象学和数据科学交叉领域的一个重要研究方向。随着大数据技术的发展&#xff0c;气象数据的采集、存储和分…

炫酷的3D按钮效果实现 - CSS3高级特性应用

炫酷的3D按钮效果实现 - CSS3高级特性应用 这里写目录标题 炫酷的3D按钮效果实现 - CSS3高级特性应用项目介绍核心技术实现1. 基础结构设计2. 视觉效果实现2.1 背景渐变2.2 立体感营造 3. 交互动效设计3.1 悬停效果3.2 按压效果 技术要点分析1. 深度层次感2. 动画过渡3. 性能优…

解决python配置文件类configparser.ConfigParser,插入、读取数据,自动转为小写的问题

配置类 [Section1] Key_AAA Value[Section2] AnotherKey Value默认情况下&#xff0c;ConfigParser会将ini配置文件中的KEY&#xff0c;转为小写。 重载后配置类&#xff1a; 继承类从configparser.ConfigParser改为configparser.RawConfigParser重载方法optionxform&#…

微服务的网关配置

微服务的网关配置 1. 网关路由 1.1 网关 1.1.1 存在问题 单体架构时我们只需要完成一次用户登录、身份校验&#xff0c;就可以在所有业务中获取到用户信息。而微服务拆分后&#xff0c;每个微服务都独立部署&#xff0c;这就存在一些问题&#xff1a;每个微服务都需要编写身…

区间震荡指标

区间震荡指标的逻辑如下&#xff1a; 一、函数注解 1. Summation函数 功能&#xff1a; 计算给定价格序列Price的前Length个数据点的和&#xff0c;或在数据点数量超过Length时&#xff0c;计算滚动窗口内的价格和。 参数&#xff1a; Price(1)&#xff1a;价格序列&#…

C语言-数组指针和指针数组

指针 数组指针与指针数组 数组指针 定义 概念&#xff1a;数组指针是指向数组的指针&#xff0c;本质上还是指针 特点&#xff1a; ①先有数组&#xff0c;后有指针 ②它指向的是一个完整的数组 一维数组指针 语法&#xff1a; 数据类型 (*指针变量名)[容量]; 案例&a…

31天Python入门——第5天:循环那些事儿

你好&#xff0c;我是安然无虞。 文章目录 1. while循环1.1 while循环的嵌套1.2 补充学习:print函数 2. for循环2.1 range函数2.2 for循环2.3 continue和break以及return2.4 for循环的嵌套 3. 补充学习3.1 enumerate函数3.2 zip函数3.3 不要在遍历列表的过程中删除元素 循环 是…

c#难点整理

1.何为托管代码&#xff0c;何为非托管代码 托管代码就是.net框架下的代码 非托管代码&#xff0c;就是非.net框架下的代码 2.委托的关键知识点 将方法作为参数进行传递 3.多维数组 4.锯齿数组 5.多播委托的使用 6.is运算符 相当于逻辑运算符是 7.as 起到转换的作用 8.可…

数据结构之栈的2种实现方式(顺序栈+链栈,附带C语言完整实现源码)

对于逻辑关系为“一对一”的数据&#xff0c;除了用顺序表和链表存储外&#xff0c;还可以用栈结构存储。 栈是一种“特殊”的线性存储结构&#xff0c;它的特殊之处体现在以下两个地方&#xff1a; 1、元素进栈和出栈的操作只能从一端完成&#xff0c;另一端是封闭的&#xf…

Jmeter旧版本如何下载

1.Jmeter最新版本下载位置 https://jmeter.apache.org/download_jmeter.cgi2.Jmeter旧版本下载位置 https://archive.apache.org/dist/jmeter/binaries稳定版本&#xff1a;5.4.1

css-grid布局

文章目录 1、布局2、网格轨道3、间距Gap4、网格线5、网格别名 当一个 HTML 元素将 display 属性设置为 grid 或 inline-grid 后&#xff0c;它就变成了一个网格容器&#xff0c;这个元素的所有直系子元素将成为网格元素。 1、布局 启用grid布局类似与flex布局&#xff0c;不过g…

SolidWorks使用显卡教程

操作步骤&#xff1a; 打开注册表编辑器 按下键盘上的 Win R 组合键&#xff0c;输入 regedit 并按回车键&#xff0c;打开注册表编辑器。 导航到显卡信息路径 在注册表中依次展开以下路径&#xff1a; plaintext HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2021\Per…

【C++11】左值引用、右值引用、移动语义和完美转发

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;左值引用和右值引用 &#x1f38f;左值和左值引用 &#x1f38f;右值和右值引用 &#x1f4cc;左值引用和右值引用比较 &#x1f38f;左值引用 &#x1f38f;右值…

【机密计算顶会解读】11:ACAI——使用 Arm 机密计算架构保护加速器执行

导读&#xff1a;本文介绍ACAI&#xff0c;其构建一个基于CCA的解决方案&#xff0c;使得机密虚拟机能够安全地使用加速器&#xff0c;同时保持与现有应用程序的兼容性和安全性&#xff0c;能够实现对加速器的安全访问。 原文链接&#xff1a;ACAI: Protecting Accelerator Ex…