Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1379858
  • 博文数量: 247
  • 博客积分: 10147
  • 博客等级: 上将
  • 技术积分: 2776
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-24 15:18
文章分类

全部博文(247)

文章存档

2013年(11)

2012年(3)

2011年(20)

2010年(35)

2009年(91)

2008年(87)

我的朋友

分类: 系统运维

2011-03-17 10:09:02

contos5下apache和tomcat整合

一、准备软件:

apache2.2.10下载地址:

tomcat6.0下载地址:

jdk1.5.0下载地址:

jk1.2.7下载地址:

二、软件安装:

**************************************************************************

1、apache安装

把下载下来的包放在 /usr/local/src 下,使用 tar zxvf httpd-NN.tar.gz解压,

cd httpd-NN

./configure --prefix=/usr/local/httpd

make

make install

现在你发现在/usr/local下面多出了一个httpd的目录

我们可以利用 /usr/local/httpd/bin/apachectl -k start|stop|restart 来管理httpd服务。

如果要随系统启动,我们必须在 /etc/rc.d/init.d/rc.local文件的末尾加上一行:

/usr/local/httpd/bin/apachectl -k start

即使是这样,但是我们还是不方便管理httpd服务,我们能不能,像rpm安装那样使用service服务来管理httpd服务呢?
答案是肯定的我们必须如下操作:

在 /etc/rc.d/init.d/下建立一个 httpd的文件,利用 chmod 755 httpd 使其具有执行能力。
vi httpd 添加如下内容:

#!/bin/bash
# Startup script for the Apache Web Server
# chkconfig: 345 85 15
# description: Apache is a World Wide Web server.
# Source function library.
. /etc/rc.d/init.d/functions


if [ -f /etc/sysconfig/httpd ]; then
       . /etc/sysconfig/httpd
fi

INITLOG_ARGS=""

apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
prog=httpd
RETVAL=0

start() {
       echo -n $"Starting $prog: "
       daemon $httpd $OPTIONS
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd
       return $RETVAL
}
stop() {
       echo -n $"Stopping $prog: "
       killproc $httpd
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
}
reload() {
       echo -n $"Reloading $prog: "
       killproc $httpd -HUP
       RETVAL=$?
       echo
}

case "$1" in
 start)
       start
 ;;
 stop)
       stop
       ;;
 status)
       status $httpd
       RETVAL=$?
       ;;
 restart)
       stop
       start
       ;;
 condrestart)
       if [ -f /var/run/httpd.pid ] ; then
               stop
               start
       fi
       ;;
 reload)
       reload
       ;;
 graceful|help|configtest|fullstatus)
       $apachectl $@
       RETVAL=$?
       ;;
 *)
       echo $"Usage: $prog

{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
       exit 1
esac

exit $RETVAL

使用chkconfig -add httpd

chkconfig --level 2345 httpd on

这样httpd就可以利用 service httpd start|stop|restart命令来管理了,
并且它在运行环境为2、3、4、5随系统启动。


****************************************************************************


2、apr和apr-util安装

cd /usr/local/httpd/srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install

cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
make
make install

apr是可移植运行库,主要为上层的应用程序提供一个可以跨越多操作系统
平台使用的底层支持接口库,以后的配置中会用到它。


****************************************************************************


3、tomcat安装

我们要在官方下载二进制包,把下下来的二进制包解压

tar zxvf apache-tomcat.tar.gz
mv apache-tomcat.tar.gz /usr/local/tomcat

这样就算完成了。


*****************************************************************************
4、安装jdk

把下下来的jdk-1.5.0.linux.bin的文件,在当前文件夹输入 ./jdk-1.5.0.linux-bin
接下来会出现是否遵守协议的选项,你直接输入y就可以了,把解压出来的目录放到/usr/local下面
mv jdk-1.5.0.linux.bin /usr/local/jdk
这样java就已经转好了。


******************************************************************************


5、tomcat和java的连接
首先我们添加环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
使环境变量生效 source /etc/profile

Tomcat6.0开机启动脚本设置
安装jsvc
cd /usr/local/tomcat6/bin
tar xvfz jsvc.tar.gz
cd jsvc-src
sh support/buildconf.sh
如果成功,命令终端打印出下面report:
support/buildconf.sh: configure script generated successfully
chmod 755 configure
./configure --with-java=/usr/local/jdk
make
cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
到此,我们在/etc/init.d/下找到tomcat
vi /etc/init.d/tomcat
修改里面环境了变量的值:
JAVA_HOME=jdk安装目录
CATALINA_HOME=tomcat安装目录
DAEMON_HOME=tomcat安装目录/bin
TOMCAT_USER=root
在文件的最开始添加以下语句
#!/bin/bash
# Startup script for the tomcat Web Server
# chkconfig: 2345 85 15
# description: tomcat
# Source function library.
. /etc/rc.d/init.d/functions

使用以下命令使tomcat文件有执行权限和随系统启动
chmod 755 tomcat
chkconfig -add tomcat

默认情况下按照好了Tomcat6,启动时会在 /usr/local/apache-tomcat6.0/logs/stdout.log 里出现下面的日志:

INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/diablo-jdk1.5.0/jre/lib/i386/client:/usr/local/diablo-jdk1.5.0/jre/lib/i386:/usr/local/diablo-jdk1.5.0/jre/../lib/i386:/usr/lib:/usr/local/lib

下面就来安装 tomcat-native
cd /usr/local/tomcat/bin
tar zxvf tomcat-native.tar.gz
cd ./tomcat-native-1.1.10-src/jni/native/
./configure –with-apr=/usr/local/apr-httpd
make
make install
安装后多出一个目录 /usr/local/apr
然后安装上面的提示操作一下就好了,我这里用的 link 的方式:
ln -s /usr/local/apr/lib/libtcnative-1.so /usr/local/jdk/jre/lib/i386/libtcnative-1.so

再重启 tomcat,
serice tomcat6 restart
大功搞成,呵呵

************************************************************************************

6、安装jk

先解压jk,tar zxvf jk.xxx.tar.gz
cd native
./buildconf.sh
chmod 755 configure
./configure --with-apxs=/usr/local/httpd/bin/apxs
make
make install
安装结束

************************************************************************************

三、整合apache和tomcat
首先编辑apache的conf文件
vi /usr/local/httpd/conf/httpd.conf
在文件末尾添加如下行:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkShmFile logs/jk-runtime-status
JkLogLevel info
JkMountfile conf/uriworkermap.properties
JkMountCopy All
# 下面这个是jkstatus的加密处理

 JkMount jkstatus
 Order deny,allow
 AuthType Basic
 AuthName "jkstatus"
 AuthUserFile conf/jkpasswd
 require valid-user

再在conf文件夹下添加一个wokers.properties文件
cd /usr/local/httpd/conf
touch workers.properties
vi workers.properties

添加以下语句:

worker.list=local,jkstatus

worker.local.type=ajp13
worker.local.host=localhost
worker.local.port=8009
worker.jkstatus.type=status

下面是对jkstatus监控页面配置用户和密码
/usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/jkpasswd meijun1234
passwd:
reinput passwd:
meijun1234是您的用户,输入两次你要设置的密码。

这样就算是整合完毕了。

四、建立实例站点
我们配置tomcat是为了做虚拟机,为了和主的配置文件分离,我们在httpd.conf主配置添加一行
Include conf.d/virtualhost.conf
做这个前,您必须首先在httpd目录下建立目录和文件:conf.d/virtualhost.conf
我们编辑这个文件
vi ./conf.d/virtualhost.conf
加入下列内容:
NameVirtualHost *:80


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow  from all


  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Allow from all


  DocumentRoot /usr/local/apache2/htdocs
  ServerName localhost
  ErrorLog logs/default/error.log
  TransferLog logs/default/transfer.log


  DocumentRoot /var/www/html
  ServerName html.jsp.com
  ServerAlias test.jsp.com
  ErrorLog logs/html/error.log
  TransferLog logs/html/transfer.log


  DocumentRoot /var/www/jsp
  ServerName

再编辑:/usr/local/tomcat/conf/server.xml
内重新添加一个
如下:

      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
 

重启httpd和tomcat

在你在浏览器访问的时候必须在hosts文件里把指向您的服务器,否着它会找不到服务器,还要在/var/www/里面建立
jsp文件夹,在jsp文件夹里放入一个测试用的jsp程序

您一切工作都做好了,在地址栏输入能够看到您的测试页面,在,能看到你jk连接器的状况,这个jk连接器的web管理页面是mod_jk.so自带的一个功能。

 

阅读(1017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~