1. 所需软件
放置目录: /usr/local下
httpd-2.2.26.tar.gz
tomcat-connectors-1.2.37-src.tar.gz
apache-tomcat-6.0.35.tar.gz
(安装前检查系统是否在装操作系统时已经安装apache,如果安装的话,则跳过2.2)
2.1安装JDK
判断是否已经安装jdk,若已经安装则跳过此步
#java -version
# cd /usr/local/
# chmod 777 jdk-6u32-linux-i586.bin
# ./ jdk-6u32-linux-i586.bin
# cd /usr/java/
# ln -s /usr/java/jdk1.6.0_23 /usr/local/java # vi /etc/profile #添加如下内容
JAVA_HOME=/usr/local/java/
CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar PATH=/usr/local/java/bin:$PATH
export PATH JAVA_HOME CLASSPATH
【注】注销系统后,如果出现没有出现如下结果。使用vi检查是否复制的时候加入其他字符 运行
java -version
出现如下信息,代表安装配置成功 java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
2.2安装Apache
Apache2.2.26 依赖:需要系统已安装 c c++编译器。
1.tar -xvf httpd-2.2.26.tar
2. cd httpd-2.2.26
3. ./configure
4. make
5. make install
# cd /usr/local/apache2/conf
# vi httpd.conf
将Listen 80修改为Listen :80 例如:Listen 192.168.77.132:80
将ServerName修改为ServerName:80
例如:ServerName 192.168.0.72:80
在DirectoryIndex中添加index.jsp
# cd /usr/local/apache2/bin/
# ./apachectl configtest
若显示Syntax ok则表明安装成功
#./apachectl start
2.3安装Tomcat
# cd /usr/local/
# tar zxvfapache-tomcat-6.0.35.tar.gz
# ln -s apache-tomcat-6.0.35 tomcat
# cdtomcat/bin # ./startup.sh
访问http://xxxx:8080检查tomcat是否成功启动
使用ctrl+c关闭当前程序。如果无法关闭系统,并且出现8080端口占用。双击执行shutdown.sh文件关闭。
2.4安装JK
#cd /usr/local/
# tar -zxvf tomcat-connectors-1.2.37-src.tar.gz
#cd tomcat-connectors-1.2.37-src/native
#chmod 755 buildconf.sh
#./buildconf.sh
#./configure --with-apxs=/usr/local/apache2/bin/apxs
#make
#make install
mod_jk.so 已经存在于/usr/local/apache2/modules/
3系统整合
3.1 httpd.conf配置
在apache的conf/httpd.conf中添加如下内容:
#jk module is used for connecting tomcat
LoadModule jk_module modules/mod_jk.so
#Configure mod_jk
#configure workers, such as tomcat
JkWorkersFile conf/ workers.properties
#configure what url will be assigned to tomcat, this is like a url filter
#JkMountFile conf/jk/uriworkermap.properties
#configure jk log
JkLogFile logs/ mod_jk.log
JkLogLevel info
3.2 添加workers.properties
#vi /usr/local/apache/conf/workers.properties 内容如下:
worker.list=loadbalancer
#Define a ‘local_worker’ worker using ajp13
worker.worker1.port=8009
worker.worker1.host=172.18.130.39
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
#Define another ‘local_worker’ worker using ajp13
worker.worker2.port=48009
worker.worker2.host=172.18.130.66
#worker.worker2.host=172.18.130.39
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
#Define the LB worker
worker.loadbalancer.type=lb
worker.loadbalancer.method=R
worker.loadbalancer.balance_workers=worker1,worker2
#worker.loadbalancer.local_worker_only=1
worker.loadbalancer.sticky_session=1
worker.loadbalancer.sticky_session_force=0
3.3 添加uriworkermap.properties
#vi /usr/local/apache/conf/workers.properties 内容如下
/*= loadbalancer
#!/*.gif=loadbalancer
#!/*.jpg=loadbalancer
#!/*.png=loadbalancer
#!/*.css=loadbalancer
#!/*.js=loadbalancer
#!/*.htm=loadbalancer
#!/*.html=loadbalancer
这里的"!”类似于java中的"!”,是“非”的意思
下面的静态资源可以不走loadbalancer,例子中#注释掉了
3.4修改server.xml
并且把下面群集配置释放出来,添加如下内容。
4 部署应用
修改应用的web.xml,配置文件,增加:属性 应用复制到/usr/local/tomcat/webapps/目录下
常见问题处理:1. File does not exist:/usr/local/apache2/htdocs/favicon.ico
favicon.ico意指你的网站图标。当有人(使用IE浏览器)将你的网站收藏为“my favorite”时,就会去参照网站根目录下的“favicon.ico”文件,这个图标也就是“my favorite”里显示的图标。
找个favicon.ico图片文件放到/usr/local/apache2/htdocs/目录下即可。
2.如果出现buildconf:autoconf not found.
You need autoconf version 2.13 ornewer installed
to build PHP from CVS.
解决办法
# cd /usr/local/src
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
# tar -xzvf autoconf-2.13.tar.gz
# cd autoconf-2.13
# ./configure && make
# make install
其实真正的原因是apxs无法运行。
测试一下是否安装了perl
#perl -v
在没装perl的情况下编译安装apache生成的apxs的第一行是:#!/replace/with/path/to/perl/interpreter-w 。使用apxs需要安装perl,因为apxs使用的perl脚本。
接下来装perl
yuminstall perl
安装好后,必须修改apxs文件,因为他的第一行还是#!/replace/with/path/to/perl/interpreter-w ,#!/replace/with/path/to/perl/interpreter这个文件是不存在的,当然不能运行。
装第一行修改成#!/usr/bin/perl -w,保存就行了。
建议还是先安装perl再编译安装apache,这样方便些,不会太麻烦。
3.wc_create_worker::jk_worker.c(138): Unknown worker type lb for worker loadbalancer
网上的字符与linux的字符不同导致的,重新输入后,问题解决