Apache + tomcat 简单配置
一、安装启动apache mysql# netstat -tnlp |grep 80
tcp 0 0 :::80 :::* LISTEN 1960/httpd
二、单独使用Tomcat(Mysql)
# rpm -qa |grep java
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
# java -version
-bash: /usr/bin/java: 没有那个文件或目录
==安装JDK
# rpm -ivh jdk-7u11-linux-i586.rpm --force
# java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Client VM (build 23.6-b04, mixed mode, sharing)
# ls /usr/java/jdk1.7.0_11
# vim /etc/profile 设置环境变量
JAVA_HOME=/usr/java/jdk1.7.0_11
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
# source /etc/profile
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.7.0_11/bin
==Tomcat
# tar xvf apache-tomcat-7.0.34.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv apache-tomcat-7.0.34 tomcat
创建指向“apache-tomcat-7.0.34”的符号链接“tomcat”
# vim /etc/profile 定义Tomcat环境变量
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
# source /etc/profile
# env |grep HOME
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/usr/java/jdk1.7.0_11
HOME=/root
# /usr/local/tomcat/bin/catalina.sh start 启动
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_11
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2920/java
tcp 0 0 :::8009 :::* LISTEN 2920/java
tcp 0 0 :::8080 :::* LISTEN 2920/java
tcp 0 0 :::80 :::* LISTEN 2135/httpd
=================================================
System V脚本 可选项
## vim /etc/init.d/tomcat
#!/bin/bash
# Init file for Tomcat server daemon
#
# chkconfig: 2345 96 14
# description: Tomcat server daemon
JAVA_OPTS='-Xms64m -Xmx128m'
JAVA_HOME=/usr/java/jdk1.7.0_11
CATALINA_HOME=/usr/local/tomcat
export JAVA_OPTS JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
# chmod a+x /etc/init.d/tomcat
# chkconfig tomcat --list
tomcat 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig --add tomcat”)
#
# chkconfig --add tomcat
# chkconfig tomcat --list
tomcat 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
# chkconfig tomcat on
#
# service tomcat stop
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_11
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
# service tomcat start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_11
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
=================================================
测试:
http://192.168.2.251:8080/
安装tomcat-native
# yum groupinstall -y "Development tools" "Development libraries"
# yum -y install openssl-devel apr-devel
# cd /usr/local/tomcat/bin/
# ls
bootstrap.jar commons-daemon-native.tar.gzdigest.bat shutdown.sh tool-wrapper.bat
catalina.bat configtest.bat digest.sh startup.bat tool-wrapper.sh
catalina.sh configtest.sh setclasspath.batstartup.sh version.bat
catalina-tasks.xmlcpappend.bat setclasspath.sh tomcat-juli.jar version.sh
commons-daemon.jardaemon.sh shutdown.bat tomcat-native.tar.gz
# tar xf tomcat-native.tar.gz
# cd tomcat-native-1.1.24-src/jni/native/
# ls
build build-outputs.mkinclude NMAKEmakefile srclib
buildconf config.layout libtcnative.dspNMAKEmakefile.inctcnative.dsp
build.confconfigure libtcnative.dswos tcnative.pc.in
BUILDING configure.in Makefile.in src tcnative.spec
# ./configure --with-apr=/usr/ --with-ssl --with-java-home=/usr/java/jdk1.7.0_11/
# make && make install
# echo "/usr/local/apr/lib" > /etc/ld.so.conf.d/apr.conf
# ldconfig 重新加载库文件
======================================
为查看Tomcat运行状态添加用户:
/usr/local/tomcat/conf/server.xml Tomcat配置文件
/usr/local/tomcat/conf/server.xml Tomcat配置文件
# vim /usr/local/tomcat/conf/tomcat-users.xml
# service tomcat stop
# service tomcat start
======================================
===为Tomcat提供连接Mysql的文件
# tar xf mysql-connector-java-5.0.8.tar.gz
# cd mysql-connector-java-5.0.8
# ls
build.xmlCOPYINGdocs mysql-connector-java-5.0.8-bin.jarREADME.txt
CHANGES debug EXCEPTIONS-CONNECTOR-JREADME src
# cp mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/lib/
# service tomcat stop
# service tomcat start
===配置Tomcat虚拟主机:JavaCenter_Home
# ls /usr/local/tomcat/webapps/
docsexampleshost-managermanagerROOT
# ls /usr/local/tomcat/webapps/ROOT 默认网站的主目录
asf-logo.png bg-nav-item.pngfavicon.ico tomcat.gif WEB-INF
asf-logo-wide.gifbg-nav.png index.jsp tomcat.png
bg-button.png bg-upper.png RELEASE-NOTES.txttomcat-power.gif
bg-middle.png build.xml tomcat.css tomcat.svg
#
# mkdir /usr/local/tomcat/webapps/blog 为新网站建立主目录
# vim /usr/local/tomcat/conf/server.xml tomcat主配置文件
==JSP网站
# unzip JavaCenter_Home_2.0_Source_UTF8.zip
# cd JavaCenter_Home_2.0_Source_UTF8/source/WebRoot/
# ls
admin avatar.jsp data help.jsp js.jsp rss.jsp userapp.jsp
admincp.jspconfig.propertiesdo.jsp image link.jsp source WEB-INF
api contact.jsp editor.jsp index.jsp magic.jsp space.jspxmlrpc.jsp
app.jsp cp.jsp errors install META-INF template
attachment crossdomain.xml favicon.icoinvite.jspnetwork.jsptheme
#
# cp -rf * /usr/local/tomcat/webapps/blog/
# service tomcat stop
# service tomcat start
http://www.blog.com:8080是否支持连接数据库 之前要安装好mysql数据库
http://www.blog.com:8080/install
三、整合Apache、Tomcat
确定建立了两个虚拟机:
www.126.com/webroot1/126 默认网站目录PHP
www.blog.com/usr/local/tomcat/webapps/blog/ JSP(Tomcat:8080)
# mkdir /webroot1
# mkdir /webroot1/126
# echo "welcome to 126" > /webroot1/126/index.html
#vim /etc/httpd/conf/httpd.conf
DocumentRoot "/webroot/126"
ServerName www.126.com
DocumentRoot "/usr/local/tomcat/webapps/blog/"
ServerName www.blog.com
Require all granted
Require all granted
# service httpd restart
必须确保两个网站都能访问,此时JSP网只能访问到,不能解析
整合
# tar xvftomcat-connectors-1.2.31-src.tar.gz
# cd tomcat-connectors-1.2.31-src/native/
# ls
aclocal.m4buildconf.shcommon docsMakefile.amNEWS scripts
apache-1.3BUILDING.txtconfigure iis Makefile.innt_serviceSTATUS.txt
apache-2.0CHANGES configure.injni netscape README.txtTODO.txt
# chmod 755 buildconf.sh
# ./buildconf.sh
======================================================================================================
# which apxs
/usr/sbin/apxs
#
# rpm -qf /usr/sbin/apxs
httpd-devel-2.2.3-63.el5
# ./configure --with-apxs=/usr/sbin/apxs 场景一:RPM包关联Apache
# ./configure --with-apxs=/usr/local/apache2/bin/apxs 场景二:源码包关联Apache
======================================================================================================
# make && make install
=======================================================
编译时产生错误及解决方案
# make
Making all in common
make: Entering directory `/root/jsp/tomcat-connectors-1.2.31-src/native/common'
make: Nothing to be done for `all'.
make: Leaving directory `/root/jsp/tomcat-connectors-1.2.31-src/native/common'
Making all in apache-2.0
make: Entering directory `/root/jsp/tomcat-connectors-1.2.31-src/native/apache-2.0'
/usr/local/apache2/build/libtool --silent --mode=compile gcc -std=gnu99 -I/usr/local/apache2/include-DHAVE_CONFIG_H -DUSE_APACHE_MD5 -I ../common -I /usr/java/jdk1.7.0_11/include -I /usr/java/jdk1.7.0_11/include/unix -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread -DHAVE_APR-I/usr/local/apache2/include -I/usr/local/apache2/include-DHAVE_CONFIG_H -g -O2 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -c mod_jk.c -o mod_jk.lo
mod_jk.c: In function 'init_ws_service':
mod_jk.c:735: error: 'conn_rec' has no member named 'remote_ip'
mod_jk.c:999: error: 'conn_rec' has no member named 'remote_ip'
mod_jk.c:999: error: 'conn_rec' has no member named 'remote_ip'
make: *** 错误 1
make: Leaving directory `/root/jsp/tomcat-connectors-1.2.31-src/native/apache-2.0'
make: *** 错误 1
解决方法:
# vim apache-2.0/mod_jk.c
735:
改之前
s->remote_addr = r->connection->remote_ip;
改之后
s->remote_addr = r->connection->client_ip;
999
改之前
STRNULL_FOR_NULL(r->connection->remote_ip),
改之后
STRNULL_FOR_NULL(r->connection->client_ip),
重新编译:
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make clean 清除以前编译产生的目标文件 .o的文件
# make && make install
==================================================
# ls /etc/httpd/modules/mod_jk.so
/etc/httpd/modules/mod_jk.so
正式开始整合。。。
==== vim /etc/httpd/conf/httpd.conf=====
DirectoryIndex index.html index.jsp
LoadModule jk_module modules/mod_jk.so 加载mod_jk.so
jkWorkersFile conf.d/workers.properties
jkLogFile logs/mod_jk.log
jkLogLevel info
=== vim /etc/httpd/conf.d/workers.properties
ps=/
worker.list=tomcat1,tomcat2,loadbalancer
worker.tomcat1.port=8080
worker.tomcat1.host=127.0.0.1
workes.tomcat1.type=ajp13
worker.tomcat1.lbfactor=100
=== vim /etc/httpd/conf/httpd.conf
DocumentRoot "/usr/local/tomcat/webapps/blog/"
ServerName www.blog.com
jkmount /*.jsp loadbalancer
jkmount /servlet/* loadbalancer
jkmount /application/* loadbalancer
# service httpd restart
#
# service tomcat stop
# service tomcat start
页:
[1]