contos5下apache和tomcat整合
一、准备软件:
apache2.2.10下载地址:http://httpd.apache.org/download.cgi
tomcat6.0下载地址:http://tomcat.apache.org/download-60.cgi
jdk1.5.0下载地址:http://java.sun.com/javase/downloads/previous.jsp
jk1.2.7下载地址:http://tomcat.apache.org/download-connectors.cgi
二、软件安装:
**************************************************************************
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的加密处理 <Location /jkstatus> JkMount jkstatus Order deny,allow AuthType Basic AuthName "jkstatus" AuthUserFile conf/jkpasswd require valid-user </Location>
再在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
<Directory /var/www/html> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
<Directory /var/www/jsp> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
<VirtualHost *:80> DocumentRoot /usr/local/apache2/htdocs ServerName localhost ErrorLog logs/default/error.log TransferLog logs/default/transfer.log </VirtualHost>
<VirtualHost *:80> DocumentRoot /var/www/html ServerName html.jsp.com ServerAlias test.jsp.com ErrorLog logs/html/error.log TransferLog logs/html/transfer.log </VirtualHost>
<VirtualHost *:80> DocumentRoot /var/www/jsp ServerName www.jsp.com </VirtualHost> 再编辑:/usr/local/tomcat/conf/server.xml 在<Service>和<Engine>内重新添加一个<Host> 如下:
<Host name="www.jsp.com" appBase="" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/var/www/jsp" /> </Host> 重启httpd和tomcat
在你在浏览器访问的时候必须在hosts文件里把www.jsp.com指向您的服务器,否着它会找不到服务器,还要在/var/www/里面建立 jsp文件夹,在jsp文件夹里放入一个测试用的jsp程序
您一切工作都做好了,在地址栏输入http://www.jsp.com能够看到您的测试页面,在http://www.jsp.com/jkstatus,能看到你jk连接器的状况,这个jk连接器的web管理页面是mod_jk.so自带的一个功能。
|