wangccsy 2019-06-04 13:52:40 浏览 150 评论 0
网络与数据通信
- Linux
- java
- ECS
- Apache
模块
配置
- tomcat
- JS
- webServer
摘要: 首先需要购买阿里云 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, 分别访问如下:
下面重点介绍 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 会自动加载这个模块.
在同一个目录有一个 jk.conf 文件, 它是对 mod_jk 的相关配置, 如下图:
从上面的配置文件我们可以确认, jk_worker 的配置文件 / etc/libapache2-mod-jk/workers.properties, 要将 Tomcat 作为一个 Worker 就得修改这个文件. 编辑这个文件, 会看到一个 worker.list, 默认是 ajp13_worker, 如果你不喜欢可以将此名字进行修改, 如果不想修改一定要记住, 后面的配置会使用. 如果修改就得将文件中的所有地方都修改为统一的名字如 myworker 什么的. 如果在替换, 在 vi 的命令模式输入如下的命令即可:
:%s#ajp13_worker#myworker#g
然后回车即完成全文替换.
另外还要修改 Tomcat 和 JDK 目录, 如下:
然后设置 apache2 的转发规则,
vi /etc/apache2/sites-available/000-default.conf
在 VirtualHost 节点的未尾添加转发规则(一条或多条), 如下图:
这条规则的意思是把所有的 / 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 名称, 如下图:
并确定 8009 端口已监听协议为 AJP1.3.
四, 功能验证
进行上述配置后, 需要重启 tomcat 和 apache2.
- systemctl stop apache2
- systemctl start apache2
进入 tomcat 的主目录, 然后进入 bin 目录. 执行
- ./shutdown.sh
- ./startup.sh &
打开浏览器, 输入 http://xxx.xxx.xxx.xxx/examples/
我再也不为输入: 8080 就可以访问 tomcat 了. 如果我在 tomcat 上布置了其它应用, 通过 apache2 的转发规则, 直接就可以访问了, 如我的 MyWebApp. 如下图:
来源: https://yq.aliyun.com/articles/704518