游乐游手机版
首页/AI教程/文章详情

阿里云ECS部署Apache与Tomcat整合方法

时间:2026-06-06 16:42
在阿里云ECS(Ubuntu18 04)部署Apache与Tomcat,通过mod_jk整合。Apache处理HTTP请求,Tomcat作为Servlet容器,经AJP协议在8009端口通信。配置workers properties及转发规则,实现无需端口号直接访问Tomcat应用。

这里先说个前提:我用的是阿里云ECS服务器,配置不高,操作系统是Ubuntu 18.04。所有操作都是通过Putty远程连接到服务器后执行的,命令行环境跑起来很顺。

一、基本环境安装准备

运行Tomcat之前,得先确认Ja va有没有装好。直接敲命令:

ja va --version

如果输出类似下面这行,说明Ja va已经就位了。

openjdk 11.0.3 2019-04-16

我这显示的是OpenJDK,Oracle JDK的输出版本号会不一样。如果还没装,就用apt-get装一个openjdk:

apt-get install default-jdk

接下来安装Tomcat和Apache2。Apache2直接用apt-get搞定:

apt-get install apache2

Tomcat是从官网下载的8.5.1版本,直接解压到/usr/local目录下。启动Apache和Tomcat后,分别访问下面这两个页面看看效果:
2019_06_04_130828
2019_06_04_130914

下面重点说说Tomcat和Apache的整合。虽然Tomcat也自带WebServer功能,但一般只是调试时用用,真正处理静态页面和HTTP请求,还是Apache的Httpd更专业。Tomcat的核心工作是处理Servlet,作为Servlet容器存在。所以要整合,就让Apache来当“门卫”,所有HTTP请求先经它筛选,符合规则的就转给Tomcat处理。这中间的“转交员”是一个叫mod_jk的模块,它是个动态库,需要时加载。而Tomcat的角色叫“worker”,默认通过8009端口的AJP协议和Apache通信。

二、安装module_jk并进行配置

安装命令很简单:

apt-get install libapache2-mod-jk

装完之后,在/etc/apache2/mods-enabled目录下会多出一个jk.load文件,里面就是标准的LoadModule命令。重启Apache后这个模块就能自动加载。
2019_06_04_132447
同一目录下还有个jk.conf文件,是对mod_jk的配置,关键配置项就在里面:
2019_06_04_132205
从配置文件里可以看到,worker的配置文件是/etc/libapache2-mod-jk/workers.properties。要把Tomcat当成一个worker,就得改这个文件。打开它,会看到一个worker.list,默认叫ajp13_worker。如果不喜欢这个名字,可以改成自己喜欢的,比如myworker,但记住,改了就全文件都得统一。在vim命令模式下替换很方便:

:%s#ajp13_worker#myworker#g

回车就完成了全文替换。另外还要修改Tomcat和JDK的安装目录,像下面这样:
2019_06_04_133349

然后设置Apache2的转发规则:

vi /etc/apache2/sites-a vailable/000-default.conf

节点的末尾添加转发规则,可以是一条或多条。比如:
2019_06_04_133659
这条规则的意思是:所有访问/examples//MyWebApp/的请求,都会被转交给Tomcat处理。

整个配置中需要关注的文件列表如下:

  • /etc/apache2/mods-enabled/jk.load
  • /etc/apache2/mods-enabled/jk.conf
  • /etc/libapache2-mod-jk/workers.properties
  • /etc/apache2/sites-a vailable/000-default.conf

其中jk.loadjk.conf是模块加载和配置,可能需要微调;workers.properties是worker设置,必须改;000-default.conf是转发规则,也必须改。

三、在Tomcat中设置worker

接下来修改Tomcat的配置文件,找到Engine节点,添加上定义的worker名称,就像这样:
2019_06_04_134536
同时确认8009端口已经开启,并且协议是AJP1.3。

四、功能验证

所有配置完成后,重启Tomcat和Apache2:

systemctl stop apache2
systemctl start apache2

进入Tomcat主目录的bin目录,执行:

./shutdown.sh
./startup.sh &

然后在浏览器里输入https://你的IP地址/examples/,就能看到以下页面:
2019_06_04_135013
这样一来,访问Tomcat就不再需要手动加上:8080端口号了。如果Tomcat上部署了其他应用(比如我的MyWebApp),通过Apache2的转发规则也能直接访问,效果如下:
2019_06_04_135134

来源:https://developer.aliyun.com/article/704518
上一篇终端身份与系统资源监控技术架构研究 下一篇详解ApiPost中文版Postman如何发送随机数或时间戳的方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Synthesia零基础教程:客户端安装与工作区权限设置
AI教程 · 2026-06-07

Synthesia零基础教程:客户端安装与工作区权限设置

本文介绍了AI视频生成工具Synthesia的入门流程。内容涵盖从官网下载客户端、完成账户注册与登录,到软件安装与启动的完整步骤。详细说明了如何初始化工作区,包括创建首个AI视频项目、选择模板与AI主播。最后,指导用户理解并设置团队协作中的不同权限角色,以便安全高效地共同管理项目。

FramePack新手入门指南:安装启动报错修复导出全流程
AI教程 · 2026-06-07

FramePack新手入门指南:安装启动报错修复导出全流程

本文详细介绍了FramePack工具从下载安装到项目导出的完整流程。内容涵盖软件安装步骤、首次启动设置、常见报错解决方案以及项目打包导出方法。指南旨在帮助用户快速掌握工具核心操作,解决使用过程中可能遇到的技术问题,确保顺利完成AI视频帧处理任务。

FLUX.1保姆级教程:环境安装、显存优化与首次出图测试
AI教程 · 2026-06-07

FLUX.1保姆级教程:环境安装、显存优化与首次出图测试

本文详细介绍了FLUX 1的安装与初步使用流程。内容涵盖从Python环境配置、代码仓库克隆、依赖包安装,到关键的显存优化设置,最后指导用户完成首次文生图测试。教程旨在帮助用户顺利搭建运行环境,解决常见安装问题,并实现基础图像生成功能。

AnythingLLM新手实战:本地大模型部署后知识库接入设置
AI教程 · 2026-06-07

AnythingLLM新手实战:本地大模型部署后知识库接入设置

本文介绍了在本地部署大模型后,如何为AnythingLLM设置知识库。内容涵盖知识库的基本概念、创建与配置步骤、文档上传与处理技巧,以及如何通过问答测试其效果。旨在帮助用户有效整合本地文档资源,构建个性化的AI知识助手,提升信息检索与利用效率。

Aider安装失败排查:扩展冲突与登录异常全解析
AI教程 · 2026-06-07

Aider安装失败排查:扩展冲突与登录异常全解析

本文针对Aider安装过程中常见的扩展冲突与登录异常问题,提供了系统的排查思路与解决方案。内容涵盖如何识别并处理与其他AI工具的兼容性问题,解决因网络或账户设置导致的登录失败,以及通过环境检查、依赖更新等步骤彻底排除安装障碍,帮助用户顺利完成安装与配置。