ubuntu 12.04下apache2+tomcat7用proxy_ajp方式整合步骤

开始操作前,首先下载需要的安装包。

apache2:http://httpd.apache.org/download.cgi

apr和apr-util:http://apr.apache.org/

tomcat7:http://tomcat.apache.org/download-70.cgi

jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

东西准备好了之后开始编译、安装。

一、编译apr

tar -zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure –prefix=/usr/local/apr-httpd/
make
make install

二、编译apr_util

tar -zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure –prefix=/usr/local/apr-util-httpd/–with-apr=/usr/local/apr-httpd/
make
make install

三、编译apache2

tar -zxvf httpd-2.2.26.tar.gz
cd httpd-2.2.26
./configure –prefix=/usr/local/apache2/–with-apr=/usr/local/apr-httpd/ –with-apr-util=/usr/local/apr-util-httpd/–enable-so –enable-mods-shared=most –enable-rewrite=shared –enable-proxy=shared –enable-proxy-ajp=shared –enable-proxy-balancer=shared –enable-speling=shared
make
make install

启动apache2服务器

/usr/local/apache2/bin/apachectl start

如果没有报错,而且浏览器打开http://yourip/显示It works!页面,那么说明apache安装成功。

设置apache2开机自动启动,添加服务。

cp -a /usr/local/apache2/bin/apachectl /etc/init.d/
mv /etc/init.d/apachectl /etc/init.d/apache2

编辑/etc/init.d/apache2,在#!/bin/bash下添加如下两行。

# chkconfig: 35 70 30
# description: Apache2

update-rc.d apache2 defaults

四、安装tomcat7

1、安装jdk

tar zxvf jdk-7u55-linux-x64.gz

mkdir -p /usr/lib/jvm/

mv jdk1.7.0_55/ /usr/lib/jvm

设置jdk环境变量

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55
export JRE_HOME=/usr/lib/jvm/jdk1.7.0_55/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

最后出现如下页面说明jdk设置完成。

root@ubuntu:/usr/lib/jvm# java -version
java version “1.7.0_55″
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

2、安装tomcat

tar zxvf apache-tomcat-7.0.52.tar.gz -C /usr/local/

mv /usr/local/apache-tomcat-7.0.52 /usr/local/tomcat7

在/usr/local/tomcat7/bin/catalina.sh中找到“# OS specific support. $var _must_ be set to either true or false.”,在他的下面添加如下两条信息,保存退出。

CATALINA_HOME=/usr/local/tomcat7
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55

3、启动tomcat

/usr/local/tomcat7/bin/startup.sh

如果没有报错,而且浏览器打开http://yourip:8080/显示tomcat的默认页面,那么说明tomcat安装成功。

4、设置tomcat7开机启动

新建文件/etc/init.d/tomcat7,添加如下内容。

#!/bin/bash

#

# /etc/rc.d/init.d/tomcat7

# init script for tomcat precesses

#

# processname: tomcat

# description: tomcat is a j2se server

# chkconfig: 2345 86 16

# description: Start up the Tomcat servlet engine.

RETVAL=$?

CATALINA_HOME="/usr/local/tomcat7"

case "$1" in

start)

 if [ -f $CATALINA_HOME/bin/startup.sh ];

 then

 echo $"Starting Tomcat"

 $CATALINA_HOME/bin/startup.sh

 fi

 ;;

stop)

 if [ -f $CATALINA_HOME/bin/shutdown.sh ];

 then

 echo $"Stopping Tomcat"

 $CATALINA_HOME/bin/shutdown.sh

 fi

 ;;

*)

 echo $"Usage: $0 {start|stop}"

 exit 1

 ;;

esac

exit $RETVAL
保存后授予tomcat7可以执行权限,然后再运行update-rc.d tomcat7 defaults即可。

五、整合tomcat和apache

修改apache的配置文件httpd.conf,添加模块proxy_module 和proxy_ajp_module ,去掉Include conf/extra/httpd-vhosts.conf一行的注释。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

……

Include conf/extra/httpd-vhosts.conf

编辑httpd-vhosts.conf文件,我的设置如下,打开http://yourip/images由apache处理,其他都由tomcat处理。

NameVirtualHost *:80

<VirtualHost *:80>

 ServerAdmin webmaster@dummy-host.example.com

 DocumentRoot "/home/www/"

 ServerName www.domain.com

<Directory "/home/www/">

 Options Indexes FollowSymLinks

 AllowOverride None

 Order allow,deny

 Allow from all

 </Directory>

 

ProxyPass /images !

 ProxyPass / ajp://localhost:8009/

 ProxyPassReverse / ajp://localhost:8009/

ErrorLog "/home/wwwlogs/www.domain.com-error_log"

 CustomLog "/home/wwwlogs/www.domain.com-access_log" common

</VirtualHost>
到这里,apache整合tomcat基本上就已经部署完成了。

时间: 2024-07-31 09:34:38

ubuntu 12.04下apache2+tomcat7用proxy_ajp方式整合步骤的相关文章

Ubuntu 12.04下Apache2.2与Tomcat6的整合详细教程

有过服务器搭建经验的人都知道,如果做J2EE开发,把Tomcat和Apache整合起来有如下几点好处:1,利用Apache做负载均衡和容错:2,Apache专注做静态网页解析,tomcat专注做动态网页解析,这样能提高服务器的效率:3,应用程序可以无缝升级. 最近用Ubuntu12.04做服务器(原理上不应该用最新版本而应该用稳定版本),看了很多关于apache与tomcat整合的书,最后发现书上的内容对ubuntu12.04来说有点出入.下面总结一下经验供大家参考: 安装apache和tomc

在Windows以及Ubuntu 12.04下使用共享打印机的办法

针对各个办公室里面都已经配置打印机了,为了节约资源,该打印机想必已经被网管设置成了共享,然而我们应该如何进行使用呢? 目前常用的系统是Ubuntu 12.04,偶尔想打印东西的不想切换到XP系统下,就此简单介绍下如何分别在Ubuntu以及Windows系统下使用此台共享打印机的方法,当然前提是连接此台共享打印机的主机以及打印机都得开机着,以及你们在同一个局域网内和同工作组里. 环境:笔者办公室里的打印机连接的主机是Window XP系统,其IP地址是172.20.4.114,没有设置访问打印机密

嵌入式小白求教:Ubuntu 12.04下RT73 USB无线网卡移植实现的若干问题

问题描述 嵌入式小白求教:Ubuntu 12.04下RT73 USB无线网卡移植实现的若干问题 1C 最近想要在S3C6410开发板上使用RT73 USB无线网卡实现无线连接,保证6410与外部云服务器的通信.以下是自己遇到的一些困惑或问题,想请教大神点津.1. Ubuntu虚拟机上设置的eth0的ip地址经常性的会丢失,导致刚ping通的链接又出现问题:2. 6410上不知为何,每次启动时都表现为eth0关闭,需要重新ifconfig eth0 up,但是这样的话就会出现ip地址每次都需要自己

Ubuntu 12.04 下安装 Eclipse

方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse   方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JDK,参考 Ubuntu 12.04 下安装 JDK 7 2.下载 Eclipse   从 http://www.eclipse.org/downloads/index-developer.php下载合适版本,如:Eclipse IDE for C/C++ Developers 3.解压文件$ s

Ubuntu 12.04下SQLite数据库简单应用

       SQLite,是一款轻型的数据库,实现了多数的SQL-92标准,包括事务,就是代表原子性.一致性.隔离性和持久性的(ACID),触发器和多数的复杂查询.SQLite数据库是Android平台软件开发必备数据库产品! 在Ubuntu 12.04下进行SQLite开发简单实例如下: 1. 安装SQLite3           hadron@hadron ~ $ sudo apt-get install sqlite sqlite3 2. 查看版本号           hadron@

ubuntu 12.04下播放器乱码问题的处理解决

终端下输入(用户家目录) vim .profile 在文件的末尾处添加如下信息 export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030 export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030 使修改即时生效,在终端中输入 source  .profile 1 # ~/.profile: executed by the command interpreter for login shells. 2 # This file

Ubuntu 12.04下解决Tomcat自启动问题

  当我们安装好Tomcat使用后发现,每次启动都需要在终端中手动键入sudo /var/tomcat/bin/startup.sh,那么我们怎么解决这个问题呢 以下是我的解决方案: 1.首先打开终端,输入su,接着输入ROOT的密码获得ROOT权限.进入/etc文件夹(使用cd /etc命令) 2.打开rc.local文件(在/etc目录下使用vi rc.local命令) 3.rc.local文件内容默认如下 #!/bin/sh -e # # rc.local # # This script

Ubuntu 12.04下tomcat启动错误

问题描述 解决方案 解决方案二:没配置tomcat实例解决方案三:没有把test项目加入tomcat

ubuntu 12.04下配置LVS-DR模式负载均衡

最近折腾的LVS的问题,做个记录!正常是三台以上服务器可以,一台做负载,另外两台做真是服务器,但我手上的环境实际上只有两台,那就意味着其中一台纪要做负载又要做真实服务器. 首先要检查Linux内核是否支持LVS: modprobe -l | grep ipvs 如果输出类似于如下内容,那么就是OK的: kernel/net/netfilter/ipvs/ip_vs.ko kernel/net/netfilter/ipvs/ip_vs_rr.ko kernel/net/netfilter/ipvs