天天看点

第 2 章 Apache Tomcat

目录

<dl></dl>

<dt>2.1. Tomcat 安装与配置</dt>

<dd><dl></dl></dd>

<dt>2.1.1. Tomcat 6</dt>

<dt>2.1.1.1. tomcat-native</dt>

<dt>2.1.1.2. 启动脚本</dt>

<dt>2.1.2. Tomcat 7</dt>

<dt>2.1.2.1. Server JRE</dt>

<dt>2.1.2.2. Tomcat</dt>

<dt>2.1.3. Java 8 + Tomcat 8</dt>

<dt>2.1.3.1. systemctl 启动脚本</dt>

<dt>2.1.3.2. Session 共享</dt>

<dd><dl><dt>2.1.3.2.1. test session</dt></dl></dd>

<dt>2.1.4. 防火墙配置</dt>

<dt>2.1.5. 同时运行多实例</dt>

<dt>2.1.6. Testing file</dt>

<dt>2.1.7. mod_jk</dt>

<dt>2.1.8. mod_proxy_ajp</dt>

<dt>2.1.9. RewriteEngine 连接 Tomcat</dt>

<dt>2.1.10. SSL 双向认证</dt>

<dt>2.2. 配置 Tomcat 服务器</dt>

<dt>2.2.1. server.xml</dt>

<dt>2.2.1.1. Connector</dt>

<dt>2.2.1.1.1. HTTPS</dt>

<dt>2.2.1.1.2. compression</dt>

<dt>2.2.1.1.3. useBodyEncodingForURI</dt>

<dt>2.2.1.1.4. 隐藏Tomcat版本信息</dt>

<dt>2.2.1.2. Context</dt>

<dt>2.2.1.2.1. 应用程序安全</dt>

<dt>2.2.1.2.2. JSESSIONID</dt>

<dt>2.2.2. tomcat-users.xml</dt>

<dt>2.2.3. context.xml</dt>

<dt>2.2.3.1. Resources</dt>

<dt>2.2.3.2. session cookie</dt>

<dt>2.2.4. logging.properties</dt>

<dt>2.2.5. catalina.properties</dt>

<dt>2.3. 虚拟主机配置</dt>

<dt>2.3.1. 方案一</dt>

<dt>2.3.2. 方案二</dt>

<dt>2.3.3. Alias 别名</dt>

<dt>2.3.4. access_log</dt>

<dt>2.3.5. Context 配置</dt>

<dt>2.3.6. 主机绑定IP地址</dt>

<dt>2.4. SSI</dt>

<dt>2.5. Logging 日志</dt>

<dt>2.5.1. 开启 debug 模式</dt>

<dt>2.5.2. 切割 catalina.out 日志</dt>

<dt>2.6. Init.d Script</dt>

<dt>2.6.1. Script 1</dt>

<dt>2.6.2. Shell Script 2</dt>

解压安装

/etc/profile.d/java.sh

例 2.1. /etc/profile.d/java.sh

下载binary解压到/usr/local/

下载软件包

tomcat-native

catalina.sh

启动

例 2.2. /etc/init.d/tomcat

创建 /etc/init.d/tomcat 文件,复制并粘贴上面的启动脚本

安装 Server JRE

或者

安装下面步骤安装Tomcat,注意不要使用root启动tomcat。这里使用www用户启动tomcat,这样的目的是让tomcat进程继承www用户权限。

或者运行下面脚本快速安装

安装Java 8

第 2 章 Apache Tomcat

注意

Java 8 取消了 PermSize 与 MaxPermSize 配置项"

启动 Tomcat

如果Redis是 127.0.0.1 配置 conf/context.xml 加入下面一行,

完整的配置

例 2.3. Example /srv/apache-tomcat/conf

80 跳转 8080 方案

取消跳转

查看规则

例 2.4. tomcat firewall

下面是完整的例子,仅供参考,复制到 /etc/sysconfig/iptables 文件中,重启iptables即可生效。

创建工作目录

每个端口一个目录

修改 Server port="8006" 与 Connector port="9090"端口,不要出现重复。

启动tomcat然后观察catalina.log日志文件,确认每个进程都正确启动。

创建测试文件

vim webapps/ROOT/index.jsp

使用curl命令测试,测试结果类似下面结果。

mod_jk 安装

httpd.conf 尾部加入

配置workers.properties

apache/conf/workers.properties

mod_jk.conf

apache/conf/mod_jk.conf

分别测试apache,tomcat

包含虚拟主机配置文件

# vi conf/httpd.conf

虚拟主机中配置ProxyPass,ProxyPassReverse

# vi conf/extra/httpd-vhosts.conf

反向代理和均衡负载模块

首先我并不建议使用 tomcat 实现SSL双向验证,这个工作可以交给 Web 服务器完成。但有些场景可能需要,可以参考下面例子。

服务器端证书

客户端证书

导入客户端证书

如果希望在 Windows 浏览器中访问,下导入证书方式,双击 client.p12 文件,安装提示导入

配置 Tomcat ,编辑 server.xml 文件

原文出处:Netkiller 系列 手札

本文作者:陈景峯

转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。