在阿里云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
目录
相关文章
|
12月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
992 10
|
12月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
960 8
|
12月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
12月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
12月前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
787 2
|
12月前
|
存储 弹性计算 安全
阿里云渠道商:新手如何选择阿里云ECS实例?
阿里云ECS凭借弹性扩展、稳定可靠与安全防护,助力企业高效上云。本文系统解析实例规格选择关键因素:业务场景匹配、性能评估、成本优化、地域部署与扩展规划,结合计费模式与实际需求,提供科学选型建议,助您精准匹配资源,提升云上效能。(238字)
|
12月前
|
存储 弹性计算 安全
阿里云渠道商:新手怎么选阿里云ECS实例规格?
本文深入解析阿里云ECS的弹性、稳定与安全优势,详解实例规格选择的关键因素,涵盖应用场景、性能需求、成本预算、地理位置与扩展性,助力用户精准选型,优化业务部署与成本效益。

热门文章

最新文章

推荐镜像

更多