游乐游手机版
首页/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如何发送随机数或时间戳的方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
微软Copilot插件安装全流程:浏览器与扩展市场配置
AI教程 · 2026-07-01

微软Copilot插件安装全流程:浏览器与扩展市场配置

围绕MicrosoftCopilot在浏览器、编辑器和扩展市场中的安装与配置,梳理账号准备、安装步骤、权限检查、常见故障及安全使用边界,适合新手快速完成AI办公工具部署。

Microsoft Copilot Docker 一键部署指南:镜像拉取、端口映射与数据目录配置
AI教程 · 2026-07-01

Microsoft Copilot Docker 一键部署指南:镜像拉取、端口映射与数据目录配置

围绕Copilot类AI办公工具的Docker部署流程,说明镜像选择、拉取校验、端口映射、数据目录挂载、环境变量配置、更新回滚与常见故障处理。

微软Copilot API密钥注册获取与国内网络配置
AI教程 · 2026-07-01

微软Copilot API密钥注册获取与国内网络配置

围绕MicrosoftCopilot相关接口接入流程,梳理账号准备、Azure资源创建、密钥获取、环境变量配置、国内网络连通性优化、常见报错处理与安全管理要点。

微软Copilot Linux部署:环境准备到后台运行全流程
AI教程 · 2026-07-01

微软Copilot Linux部署:环境准备到后台运行全流程

MicrosoftCopilot不适合按本地模型方式安装,Linux服务器更常见的是部署企业入口或集成服务。流程需完成账号授权、运行环境、服务配置、反向代理、进程守护与日志监控,并注意数据权限、访问控制和合规边界。

Microsoft Copilot macOS安装教程:Apple Silicon与Intel配置步骤
AI教程 · 2026-07-01

Microsoft Copilot macOS安装教程:Apple Silicon与Intel配置步骤

MicrosoftCopilot在Mac上可通过网页应用、Edge侧边栏或Microsoft365组件使用,AppleSilicon与Intel机型重点在系统版本、浏览器、账号授权和隐私设置。