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

相关文章

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

RabbitMQ使用及与spring boot整合

1.MQ   消息队列(Message Queue,简称MQ)——应用程序和应用程序之间的通信方法   应用:不同进程Process/线程Thread之间通信   比较流行的中间件:     ActiveMQ     RabbitMQ(非常重量级,更适合于企业级的开发)     Kafka(高吞吐量的分布式发布订阅消息系统)     RocketMQ   在高并发、可靠性、成熟度等

springboot整合swagger2之最佳实践

来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 SpringBoot集成 pom <!--swagge