在阿里云ECS上部署Apache和Tomcat并整合

简介: 首先需要购买阿里云ECS服务器。我购买的是低配置,OS为Ubuntu18.04。本文中所有的命令操作均是以Putty连接到ECS服务器后进行的操作。一、基本环境安装准备要运行Tomcat,首先要确认有没有安装Java。

首先需要购买阿里云ECS服务器。我购买的是低配置,OS为Ubuntu18.04。
本文中所有的命令操作均是以Putty连接到ECS服务器后进行的操作。

一、基本环境安装准备

要运行Tomcat,首先要确认有没有安装Java。运行命令:

java --version

如果输出下面的字样,证明已经安装了Java。

openjdk 11.0.3 2019-04-16

上面证明我安装的是OpenJDK,如果是Oracle JDK输出的可能是其它字样。
如果没有安装的话,可以使用apt-get install命令安装openjdk。

apt-get install default-jdk

安装Tomcat和apache2。
安装apache2使用命令:

apt-get install apache2

Tomcat是从apache官网下载的8.5.1,直接解压到/usr/local目录下。
启动Apache和Tomcat,分别访问如下:
2019_06_04_130828
2019_06_04_130914
下面重点介绍Tomcat和Apache的整合。
Tomcat虽然也提供了WebServer的功能,但是一般只用作调试使用,其主要功能还是处理Servlet,作为Servlet容器使用。对于Web的处理还是Apache的Httpd这专业的WebServer更优秀。
要整合,就需要将所有的HTTP请求都经过Apache的筛选,把符合一定规则的请求转发给Tomcat处理。这其中需要的模块是module_jk,专门负责转发工作,这个模块是以动态库形式存在,需要的时候才进行加载。而Tomcat相对于Apache叫worker,一般通过8009的TCP端口使用AJP协议和Tomcat通信。

二、安装module_jk并进行配置

安装命令如下:

apt-get install libapache2-mod-jk

安装后在/etc/apache2/mods-enabled目录下会多出一个jk.load文件,文件内容就是标准的apache加载模块的LoadModule命令。重启Apache2会自动加载这个模块。
2019_06_04_132447
在同一个目录有一个jk.conf文件,它是对mod_jk的相关配置,如下图:
2019_06_04_132205
从上面的配置文件我们可以确认,jk_worker的配置文件/etc/libapache2-mod-jk/workers.properties,要将Tomcat作为一个Worker就得修改这个文件。编辑这个文件,会看到一个worker.list,默认是ajp13_worker,如果你不喜欢可以将此名字进行修改,如果不想修改一定要记住,后面的配置会使用。如果修改就得将文件中的所有地方都修改为统一的名字如myworker什么的。如果在替换,在vi的命令模式输入如下的命令即可:

:%s#ajp13_worker#myworker#g

然后回车即完成全文替换。
另外还要修改Tomcat和JDK目录,如下:
2019_06_04_133349
然后设置apache2的转发规则,

vi /etc/apache2/sites-available/000-default.conf

在VirtualHost节点的未尾添加转发规则(一条或多条),如下图:
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-available/000-default.conf
    其中jk.load/jk.conf是mod_jk的加载和配置,可能会修改。workers.properties是worker设置,必须修改。000-default.conf转发规则,必须修改。

三、在Tomcat中设置worker

修改Engine节点。添加worker名称,如下图:
2019_06_04_134536
并确定8009端口已监听协议为AJP1.3。

四、功能验证

进行上述配置后,需要重启tomcat和apache2。

systemctl stop apache2
systemctl start apache2

进入tomcat的主目录,然后进入bin目录。执行

./shutdown.sh
./startup.sh &

打开浏览器,输入http://xxx.xxx.xxx.xxx/examples/
2019_06_04_135013
我再也不为输入:8080就可以访问tomcat了。如果我在tomcat上布置了其它应用,通过apache2的转发规则,直接就可以访问了,如我的MyWebApp。如下图:
2019_06_04_135134

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
388 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
3月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
268 0
|
2月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
167 17
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
511 5
|
3月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
439 13
|
域名解析 弹性计算 Java
阿里云服务器ECS + tomcat + 域名解析 部署web页面
笔者分享阿里云服务器ECS+tomcat+域名解析 部署web页面详细教程,话就不多唠叨了,直接分享步骤,首选:1.购买阿里云ECS:(领取代金券礼包)2.进入ecs控制台配置安全组3.必须配置80端口安全组,因为阿里云域名解析默认指向80端口 4.
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
576 5

热门文章

最新文章

推荐镜像

更多