Apache和tomcat为什么要做动静分离
Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。Apache,nginx,tomcat并称为网页服务三剑客,可见其应用度之广泛。
首先准备一台centos7虚拟机
1.上传需要的包
[root@localhost ~]# ls
apache-tomcat-7.0.47.tar.gz jdk-8u20-linux-x64.rpm tomcat-connectors-1.2.48-src.tar.gz
etcprofile-tomcat mod_jk_httpd_conf workers.properties
2.安装apache和依赖
[root@localhost ~]# yum -y install httpd httpd-devel
3.安装结合的依赖
[root@localhost ~]# yum -y install gcc gcc-c++
4.安装tomcat的环境
[root@localhost ~]# rpm -ivh jdk-8u20-linux-x64.rpm
5.添加jdk环境,进入配置文件添加最后面
[root@localhost ~]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_20
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
6.加载jdk配置文件
[root@localhost ~]# source /etc/profile
7.查看jdk版本信息,是不是1.8版本
[root@localhost ~]# java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
8.解压tomcat包
[root@localhost ~]# tar zxf apache-tomcat-7.0.47.tar.gz
9.把tomcat包移到/opt下
[root@localhost ~]# mv apache-tomcat-7.0.47 /opt/tomcat
10.启动tomcat
[root@localhost ~]# /opt/tomcat/bin/startup.sh
11.apache结合tomcat包
[root@localhost ~]# tar zxf tomcat-connectors-1.2.48-src.tar.gz
[root@localhost ~]# cd tomcat-connectors-1.2.48-src/native/
[root@localhost native]# ./configure --with-apxs=/usr/bin/apxs
[root@localhost native]# make && make install
12.查看是否有mod_jk.so,有说明结合成功
[root@localhost native]# ll /etc/httpd/modules/mod_jk.so
13.复制workers.properties到/etc/httpd/conf配置文件
[root@localhost ~]# cat workers.properties
worker.list=1712B
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
[root@localhost ~]# cp workers.properties /etc/httpd/conf
13.追加mod_jk_httpd_conf到apache配置文件
[root@localhost ~]# cat mod_jk_httpd_conf
LoadModule jk_module modules/mod_jk.so
#加载mod_jk.so模块
JkWorkersFile /etc/httpd/conf/workers.properties
#指定mod_jk模块的配置文件
JkMount /*.jsp 1712B
#将所有以.jsp结尾的请求转发给负载均衡1712B
[root@localhost ~]# cat mod_jk_httpd_conf >> /etc/httpd/conf/httpd.conf
14.修改apache配置文件,164行添加一行index.jsp
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
163 <IfModule dir_module>
164 DirectoryIndex index.jsp index.html
165 </IfModule>
15.启动httpd和tomcat
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# /opt/tomcat/bin/shutdown.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_20
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
[root@localhost ~]# /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_20
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
16.打开浏览器访问,访问出现这两个说明成功了.
17.让apache和tomcat显示一样的页面
[root@localhost ~]# cp -rf /opt/tomcat/webapps/ROOT/* /var/www/html/
18.在打开web页面访问测试是否成功.