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

2024-02-05 11:18

本文主要是介绍ubuntu 12.04下apache2+tomcat7用proxy_ajp方式整合步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

查看原文:http://www.sijitao.net/1702.html
开始操作前,首先下载需要的安装包。

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,添加如下内容。

[code language="shell"]

#!/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

[/code]

保存后授予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处理。

[code language="shell"]

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>

[/code]

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

这篇关于ubuntu 12.04下apache2+tomcat7用proxy_ajp方式整合步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680735

相关文章

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与