在阿里云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
目录
相关文章
|
Ubuntu Java 应用服务中间件
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
433 0
|
Java 网络安全 Apache
SshClient应用指南:使用org.apache.sshd库在服务器中执行命令。
总结起来,Apache SSHD库是一个强大的工具,甚至可以用于创建你自己的SSH Server。当你需要在服务器中执行命令时,这无疑是非常有用的。希望这个指南能对你有所帮助,并祝你在使用Apache SSHD库中有一个愉快的旅程!
1119 29
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
337 4
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
402 4
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
328 1
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
Java 应用服务中间件 Apache
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
本文介绍了在IntelliJ IDEA中修改Web项目访问路径的步骤,包括修改项目、模块、Artifacts的配置,编辑Tomcat服务器设置,以及解决Apache Tomcat控制台中文乱码问题的方法。
1773 0
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
|
监控 Linux 测试技术
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
527 0

热门文章

最新文章

推荐镜像

更多