天天看点

1、apache与tomcat的整合

简介:

apache作为主流的web服务软件之一,可以作为独立的web服务器来运行,但是只能支持静态网页,对于动态网页(asp,jsp,php,cgi等)的处理则显得无能为力。tomcat也可以作为独立的web服务器来运行,但是tomcat作为java服务器,仅仅作为一个servlet容器。由于apache解释静态页面要比tomcat服务来的稳定且高效,顾将两者整合起来实现动静页面都能处理的能力。

1.1 apache+tomcat整合的好处:

1) Apache主要用来解析静态文本,如html,tomcat虽然也有此功能,但apache能大大提高效率,对于并发数较大的企业级应用,能更好的显示apache的高效率;

2). Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到Apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,如果是动态的请求,如jsp,apache会把解析工作交给tomcat,由tomcat进行解析(这首先要两者实现整合),tomcat解析完成后,结果仍是通过apache返回给客户端,这样就可以达到分工合作,实现负载均衡,提高系统的性能!而且因为JSP是服务器端解释代码的,这样整合可以减少Tomcat的服务开销

1.2 安装apache-tomcat

安装apache-tomcat需要jvm环境,由于本次安装tomcat采用的是tomcat9.0.2的版本,因此如果JVN环境在java EE8以下的需要升级到EE8上才行.以下是jvm软件包下载链接和安装方式,本此安装采用tar.gz包的方式,解压后放到/usr/java/目录下再配置/etc/profile环境变量即可.

Jdk下载链接: http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz?AuthParam=1513257490_36be8b44d015fef18ffc0758476d0a66

Tomcat 9.0.2下载链接:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz

获取软件包

1 2

# wget http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz?AuthParam=1513257490_36be8b44d015fef18ffc0758476d0a66

#wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz

配置java环境变量

卸载系统自带java:

1 2 3

# yum -y remove java*

# mv jdk-9.0.1_linux-x64_bin.tar.gz\?AuthParam\=1513257490_36be8b44d015fef18ffc0758476d0a66 jdk-9.0.1_linux-x64_bin.tar.gz

#tar zxvf jdk-9.0.1_linux-x64_bin.tar.gz

将下载的jdk-9.0.1_linux-x64_bin.tar.gz包直接解压到/usr/java/下即可,

1 2 3 4 5 6 7 8 9 10 11 12

# tar -xvf /usr/local/src/jdk-9.0.1_linux-x64_bin.tar.gz

# mkdir /usr/java

# mv jdk-9.0.1/ /usr/java/

#vim /etc/profile

export

JAVA_HOME=

/usr/java/jdk-9

.0.1/

export

JAVA_BIN=

/usr/java/jdk-9

.0.1

/bin

export

CLASSPATH=.:${JAVA_HOME}

/lib/dt

.jar:${JAVA_HOME}

/lib/tools

.jar

export

LD_LIBRARY_PATH=

/usr/local/native/lib/

export

LD_RUN_PATH=

/usr/local/native/bin/

export

PATH=${JAVA_HOME}bin:${LD_RUN_PATH}:$PATH:

/usr/apr/bin/

:

/usr/apr/lib/

重载环境变量

# source /etc/profile

验证jdk版本,说明安装成功

1 2 3 4

# java -version

java version 

"9.0.1"

Java(TM) SE Runtime Environment (build 9.0.1+11)

Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

安装tomcat:

1 2

# tar xvf apache-tomcat-9.0.2.tar.gz

# mv /usr/local/src/ apache-tomcat-9.0.2/usr/local/tomcat

根据tomcat自身携带的sh脚本命令编辑tomcat控制脚本

1 2 3 4 5 6 7

#!/bin/bash

# Tomcat init script for linux

# chkconfig: 2345 96 14

#discription: Apache Tomcat Server/Jsp container

JAVA_OPTS=

'-server -Xms64m -Xmx128m'

CATALINA_HOME=

/usr/local/tomcat

$CATALINA_HOME

/bin/catalina

.sh $*

为启动脚本赋予可执行权限

1

# chmod u+x /etc/init.d/tomcat

测试脚本,使用脚本启动tomcat:

1 2 3

# service tomcat start

# netstat -anptu | grep 8080

tcp        0      0 :::8080                     :::*                        LISTEN      29822

/java

8080端口被监听,开启服务正常运行

添加开机启动

1 2

# chkconfig --add tomcat

# chkconfig tomcat on

通过浏览器输入”192.168.31.103:8080”测试toncat web服务是否正常启动.正常访问,则tomcat搭建成功

1、apache与tomcat的整合

1.3 安装httpd服务并加载mod_jk模块:

什么是mod_jk模块?

mod_jk简称JK,是Apache服务器的一个可插入模块,用以为Apache或IIS服务器提供处理JSP/Servlet的能力。

Apache作为一款强大的Web服务器,本身缺乏处理JSP/Servlet的功能,为了能够处理对JSP/Servlet的请求,必须使用JSP/Servlet容器,如Tomcat等。

Tomcat本身也可以作为Web服务器使用,但是其功能远不及Apache强大,所以Tomcat往往作为JSP/Servlet容器使用。

下载tomcat-connectors

1

# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz

安装apache服务器:

1 2

# yum -y install httpd httpd-devel

# service httpd restart

安装tomcat-connectors

1 2 3 4 5

#tar xvf tomcat-connectors-1.2.42-src.tar.gz

# cd tomcat-connectors-1.2.42-src/native/

# ./configure --with-apxs=/usr/sbin/apxs

# make

# make install

查看mod_jk.so是否已经存在

1 2

# ls /etc/httpd/modules/mod_jk.so

/etc/httpd/modules/mod_jk

.so

生成mod_jk的配置文件

1 2

#cd /root/Desktop/ jakarta-tomcat-connectors-1.2.15-src/jk/conf

#cp workers.properties /etc/httpd/conf

清空并编辑配置文件/etc/httpd/conf/workers.properties

1

vim 

/etc/httpd/conf/workers

.properties

添加一下内容

1 2 3 4

worker.list=worker1         

#定义workers列表

worker.worker1.

type

=ajp13      

#定义workers的类型

worker.worker1.host=localhost    

#定义workers主机

worker.worker1.port=8009       

#定义tomcat worker主机的监听端口

修改httpd配置文件,添加模块

1 2 3 4

# vim /etc/httpd/conf/httpd.conf

LoadModule jk_module modules

/mod_jk

.so

jkWorkersFile 

/etc/httpd/conf/workers

.properties

jkMount /*.jsp worker1

重启httpd服务

1

# service httpd restart

# netstat -anptu | grep 80 #配置的http监听端口被监听则服务启动成功,

通过浏览器访问10.10.125.1/index.jsp,能正常访问则说明apache+tomcat整合完成

本文转自 CARYFLASH 51CTO博客,原文链接:http://blog.51cto.com/maoxiaoxiong/2050539