安装Apache
环境准备
查看防火墙是否关闭
[root@wuxing ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@wuxing ~]# systemctl is-enabled firewalld.service
disabled
查看selinux是否关闭
[root@wuxing ~]# getenforce
Disabled
CentOS7系统需安装
[root@wuxing ~]# yum install -y gcc gcc-c++ perl
安装APR
第一步:上传安装包并解压
[root@wuxing tools]# tar xf apr-1.6.3.tar.gz -C /application/
[root@wuxing tools]# ln -s /application/apr-1.6.3 /application/apr
第二步:修改配置文件
[root@wuxing tools]# cd /application/apr
[root@wuxing apr]# sed -i 's@$RM "$cfgfile"@# $RM "$cfgfile"@g' configure
第三步:编译安装
[root@wuxing apr]# ./configure --prefix=/application/apr
[root@wuxing apr]# make && make install
安装APR-util
第一步:上传安装包并解压
[root@wuxing tools]# tar -jxf apr-util-1.6.1.tar.bz2 -C /application/
[root@wuxing application]# ln -s /application/apr-util-1.6.1 /application/apr-util
第二步:编译安装
[root@wuxing application]# yum install expat-devel -y
[root@wuxing application]# cd /application/apr-util
[root@wuxing apr-util]# ./configure --prefix=/application/apr-util --with-apr=/application/apr
[root@wuxing apr-util]# make && make install
安装Prce
第一步:上传压缩包并解压
[root@wuxing tools]# tar xf pcre-8.41.tar.gz -C /application/
[root@wuxing application]# ln -s /application/pcre-8.41 /application/pcre
第二步:编译安装
[root@wuxing application]# cd pcre
[root@wuxing pcre]# ./configure --prefix=/application/pcre
[root@wuxing pcre]# make && make install
安装httpd
第一步:上传安装包并解压
[root@wuxing tools]# tar xf httpd-2.4.29.tar.gz -C /application/
[root@wuxing application]# ln -s /application/httpd-2.4.29 /application/httpd
第二步:编译安装
[root@wuxing application]# cp -r /application/apr-util /application/httpd/srclib/apr-util
[root@wuxing application]# cp -r /application/apr /application/httpd/srclib/apr
[root@wuxing application]# cd /application/httpd
[root@wuxing httpd]# ./configure --with-apr=/application/apr --with-apr-util=/application/apr-util --with-pcre=/application/pcre --prefix=/application/httpd --with-included-apr --enable-so
[root@wuxing httpd]# make && make install
#说明:--enable-so 支持动态共享模块
第三步:修改httpd配置文件
vim /application/httpd/conf/httpd.conf
ServerName localhost:80
[root@wuxing ~]# cat /etc/hosts
127.0.0.1 wuxing
第三步:启动httpd服务
[root@wuxing httpd]# /application/httpd/bin/apachectl start
[root@wuxing ROOT]# netstat -lntup|grep httpd
tcp 0 0 :::80 :::* LISTEN 6490/httpd
Tomcat安装
第一步:安装JDK
[root@wuxing1 tools]# tar xf jdk-8u60-linux-x64.tar.gz -C /application/
[root@wuxing1 tools]# ln -s /application/jdk1.8.0_60 /application/jdk
[root@wuxing1 tools]# sed -i.ori '$a export JAVA_HOME=/application/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
[root@wuxing1 tools]# source /etc/profile
第二步:安装tomcat
[root@wuxing1 tools]# tar xf apache-tomcat-9.0.6.tar.gz -C /application/
[root@wuxing1 tools]# ln -s /application/apache-tomcat-9.0.6 /application/tomcat
[root@wuxing1 tools]# echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile
[root@wuxing1 tools]# source /etc/profile
[root@wuxing1 tools]# chown -R root.root /application/jdk/ /application/tomcat
第三步:启动tomcat
[root@wuxing1 tools]# /application/tomcat/bin/startup.sh
[root@wuxing1 tools]# netstat -lntup|grep java
tcp6 0 0 :::8080 :::* LISTEN 2418/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2418/java
tcp6 0 0 :::8009
整合Apache和Tomcat
Apache与Tomcat整合原理
原理
-
tomcat 做个WEB服务器有它的局限性,处理能力低,效率低。承受并发小(1000左右)。但目前有不少网站或者页面是JSP的。并采用了tomcat做为WEB,因此只能在此基础上调优。
-
目前采取的办法是Apache + Mod_JK + tomcat 来解决一部分请求,用户访问的是apache,但有jsp页面的时候才会去请求tomcat。如果量一大,那么tomcat无法承受,那么只能做tomat集群,Apache + Mod_JK 就是负载均衡器了。
-
Mod_JK2负载均衡 可以把不同的jsp请求转发到不同的tomcat服务器,还可以侦测服务器存活。如果有条件可以给Mod_JK2做一个HA因为做完集群后压力就在JK上了。
拓扑图
第一步:安装jk连接器
[root@wuxing tools]# tar xf tomcat-connectors-1.2.42-src.tar.gz -C /application/
[root@wuxing tools]# ln -s /application/tomcat-connectors-1.2.42-src /application/tomcat-connectors
[root@wuxing application]# cd tomcat-connectors/native/
[root@wuxing native]# ./configure --with-apxs=/application/httpd/bin/apxs --with-java-home=/application/jdk
[root@wuxing native]# make && make install
说明:/application/httpd/modules会产生mod_jk.so的文件
第二步:调度器JK的配置
[root@wuxing jk]# cat /application/httpd/conf/workers.properties
workers.tomcat_home=/application/tomcat
workers.java_home=/application/jdk# 指定jdk的目录
ps=/
worker.list=controller# 指定负载名(要求与worker.controller.type=lb要对应)
#==================tomcat====================
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1# 权数值越大,分配机率越小
#============controller,负载均衡器===========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat# 与server.xml配置文件里的jvmRoute="tomcat1"指定的名字相同
worker.controller.sticky_session=1# 粘连,用户一旦访问了某个tomcat,就给他个cookie,让他在后面的请求都访问那个tomcat
第三步:修改mod_jk.conf配置文件
[root@wuxing extra]# cat /application/httpd/conf/mod_jk.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /application/httpd/conf/workers.properties
JkShmFile logs/mod_jk.shm
JkLogFile /application/httpd/logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp controller
- 第四步:修改tomcat配置文件
[root@wuxing ~]# vim /application/tomcat/conf/server.xml
<Context path="" docBase="/application/tomcat/webapps" reloadable="true" crossContext="true"/>
说明:在Host字段加入如上内容
第五步:修改Apache配置文件
[root@wuxing conf]# cat /application/httpd/conf/httpd.conf
DocumentRoot "/application/tomcat/webapps"
<Directory "/application/tomcat/webapps">
#增加以下内容
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /application/httpd/conf/workers.properties
JkShmFile logs/mod_jk.shm
JkLogFile /application/httpd/logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp controlle
第六步:重启tomcat和Apache服务
[root@wuxing conf]# /application/httpd/bin/apachectl restart
[root@wuxing webapps]# /application/tomcat/bin/shutdown.sh
[root@wuxing webapps]# /application/tomcat/bin/startup.sh
第七步:创建测试页面
[root@wuxing webapps]# cat /application/tomcat/webapps/index.jsp
<html>
<body>
<h1> hello world! </h1>
</body>
</html>
[root@wuxing webapps]# cat /application/tomcat/webapps/index.html
<html>
<body>
<center>Now time is: <%=new java.util.Date()%></center>
</body>
</html>
报错
安装apr报错:rm: cannot remove `libtoolT’: No such file or directory
[root@wuxing apr]# sed -i 's@$RM "$cfgfile"@# $RM "$cfgfile"@g' configure
安装apr-util报错:apr_xml_parser’ has no member named ‘xp’
[root@wuxing apr-util]# yum install expat-devel -y