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

有过服务器搭建经验的人都知道,如果做J2EE开发,把Tomcat和Apache整合起来有如下几点好处:1,利用Apache做负载均衡和容错;2,Apache专注做静态网页解析,tomcat专注做动态网页解析,这样能提高服务器的效率;3,应用程序可以无缝升级。

  最近用Ubuntu12.04做服务器(原理上不应该用最新版本而应该用稳定版本),看了很多关于apache与tomcat整合的书,最后发现书上的内容对ubuntu12.04来说有点出入。下面总结一下经验供大家参考:

  安装apache和tomcat以及安装mod_jk(sudo apt-get install libapache2-mod-jk)这个就不说了,这是大前提。

  一、AJP连接器

     Tomcat6为AJP协议提供了作为java类的AJP连接器实现,他包含在Tomcat发布版本中。首先你应该在$CATALINA_HOME/server.xml中定义连接器:

 代码如下 复制代码
<-- Define an AJP1.3 Connector on port 8009 -->
      <Connector port="8009" protocol="AJP1.3" redirectPort="8443" />

  一般把注释去掉即可,没有的自己添加。

  二、编写workers.properties文件

  workers.properties文件是用来定义与tomcat连接的一些变量,你不需要自己创建,在安装libapache2-mod-jk软件包的时候已经在/etc/libapache2-mod-jk/目录下创建了一个,你直接修改他就可以了:

 代码如下 复制代码
?$ sudo nano /etc/libapache2-mod-jk/workers.properties

  下面找到相应的行对其进行修改:

 代码如下 复制代码
?worker.list=myworker 
worker.myworker.port=8009
worker.myworker.host=localhost //如果你是放在其他服务器上的请修改成对应主机ip
worker.myworker.type=ajp13
worker.myworker.lbfactory=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=myworker

  三、配置/etc/apache2/apache2.conf(这里比较推荐到/etc/apache2/conf.d/目录下创建mod_jk文件,在其中编写本步骤内容也是一样的)

?#告诉JK到哪里去找workers.properties
JkWorkersFile /etc/libapache2-mod-jk/workers.properties #重启apache后如果出现allow once 提示,请注释掉此行 
 

 代码如下 复制代码
#定义JK日志位置
JkLogFile /var/log/apache2/mod_jk.log
 
#设置JK日志的级别(debug/error/info)
JkLogLevel info
 
设置Log 的格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
 
# JK 选项
JkOption +ForwardKeySize +ForwardURICompat -ForwardDirectories
 
#设置请求格式
JkRequestLogFormat "%w %V %T"

  四、配置虚拟主机

 代码如下 复制代码

$ sudo nano /etc/apache2/sites-available/default

在最后加入下面代码:

 代码如下 复制代码
?  .....
     </Directory>
 
JkMount /*.jsp myworker   #把所以jsp页面请求都交给myworker处理
JkUnMount /*.php myworker #所有的php页面请求都不交给myworker处理
 
</VirtualHost>

  五、应该注意的:

很多书上都说要添加mod_jk.so到apache的module目录下,但如果你通过sudo apt-get install libapache2-mod-jk成功安装的话是不需要的,而且还自动帮你写入LoadModule了~

时间: 2024-10-23 03:04:32

Ubuntu 12.04下Apache2.2与Tomcat6的整合详细教程的相关文章

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 东西准备好了之后开始编译.安

Ubuntu 12.04上安装和配置Postfix邮件服务详细教程

邮件服务器配置之所以麻烦是因为需要了解很多东西,牵涉到域名服务 DNS/Bind,Web 收发邮件 Apache/PHP/MySQL/SquirrelMail,认证服务 LDAP, Kerberos, PAM,邮件通常存放在额外存储上还要 NFS/SAN,邮件服务 Postfix/Dovecot,反垃圾反病毒 Postgrey/Clam AV/SpamAssassion,安全认证 SSL,监控和备份等等,这一套下来基本包括了 Linux 系统管理的方方面面,所以说配置一个安全可靠的企业级邮件系统

在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