Apache+Tomcat动静分离

Apache主要用来解析静态文本,如html,tomcat虽然也有此功能,但apache能大大提高效率,对于并发数较大的企业级应用,能更好的显示apache的高效率;

环境准备

操作系统 Centos 7.3

[root@ localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
#  关闭防火墙和selinux安全策略机制
[root@ localhost ~]# systemctl stop firewalld
[root@ localhost ~]# setenforce 0
setenforce: SELinux is disabled
#   安装插件
yum -y install lrzsz
Loaded plugins: fastestmirror
base                                                                                      | 3.6 kB  00:00:00     
epel                                                                                      | 5.3 kB  00:00:00     
extras                                                                                    | 2.9 kB  00:00:00     
updates                                                                                   | 2.9 kB  00:00:00     
(1/2): epel/x86_64/updateinfo                                                             | 1.0 MB  00:00:02     
(2/2): epel/x86_64/primary_db                                                             | 6.9 MB  00:00:07     
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com

上传阿帕奇源码包至服务器

在这里插入图片描述

源码安装Apache

解压阿帕奇源码包
[root@ localhost ~]# tar zxf httpd-2.2.9.tar.gz -C /usr/src/
[root@ localhost ~]# cd /usr/src/httpd-2.2.9/
[root@ localhost httpd-2.2.9]# ll
total 1284
-rw-r--r--  1 501 games  14882 2004-11-22 02:50 ABOUT_APACHE
-rw-r--r--  1 501 games  18886 2008-02-05 07:00 acinclude.m4
-rw-r--r--  1 501 games  54614 2008-06-07 11:13 Apache.dsw
-rw-r--r--  1 501 games 189152 2004-11-22 02:50 apachenw.mcp.zip
drwxr-xr-x  5 501 games   4096 2008-06-11 03:17 build
-rw-r--r--  1 501 games   2644 2007-08-24 14:00 BuildAll.dsp
-rw-r--r--  1 501 games   2694 2008-06-07 11:13 BuildBin.dsp
-rwxr-xr-x  1 501 games   5771 2006-07-12 11:38 buildconf
-rw-r--r--  1 501 games  85602 2008-06-11 02:49 CHANGES
-rw-r--r--  1 501 games  10943 2004-11-22 02:50 config.layout
-rwxr-xr-x  1 501 games 660990 2008-06-11 03:18 configure
-rw-r--r--  1 501 games  23300 2008-06-10 00:04 configure.in
drwxr-xr-x  9 501 games    124 2008-06-11 03:17 docs
-rw-r--r--  1 501 games    403 2004-11-22 02:50 emacs-style
-rw-r--r--  1 501 games   4124 2007-01-11 13:44 httpd.dsp
-rw-r--r--  1 501 games  19127 2008-06-11 03:18 httpd.spec
drwxr-xr-x  2 501 games   4096 2008-06-11 03:17 include
-rw-r--r--  1 501 games   4306 2008-02-13 20:54 INSTALL
-rw-r--r--  1 501 games   2909 2006-12-08 01:49 InstallBin.dsp
-rw-r--r--  1 501 games   5145 2005-11-29 16:56 LAYOUT
-rw-r--r--  1 501 games  17039 2007-01-12 18:53 libhttpd.dsp
-rw-r--r--  1 501 games  28690 2008-01-19 07:32 LICENSE
-rw-r--r--  1 501 games   8696 2008-02-05 07:00 Makefile.in
-rw-r--r--  1 501 games  33681 2008-06-07 11:13 Makefile.win
drwxr-xr-x 20 501 games    325 2008-06-11 03:16 modules
-rw-r--r--  1 501 games    828 2008-01-11 21:23 NOTICE
-rw-r--r--  1 501 games  10559 2007-08-07 01:58 NWGNUmakefile
drwxr-xr-x  9 501 games    149 2008-06-11 03:14 os
-rw-r--r--  1 501 games   5954 2007-01-10 13:50 README
-rw-r--r--  1 501 games   4992 2008-02-18 23:02 README.platforms
-rw-r--r--  1 501 games  10183 2005-03-14 13:24 ROADMAP
drwxr-xr-x  3 501 games   4096 2008-06-11 03:16 server
drwxr-xr-x  5 501 games     64 2008-06-11 03:17 srclib
drwxr-xr-x  4 501 games   4096 2008-06-11 03:17 support
drwxr-xr-x  2 501 games    248 2008-06-11 03:17 test
-rw-r--r--  1 501 games   8183 2005-10-18 01:17 VERSIONING
#配置
./configure --prefix=/usr/local/apache --enable-so 
#编译安装
make && make install

上传tocmat和jdk安装包到服务器上

在这里插入图片描述

在这里插入图片描述

#   安装jdk环境
rpm -ivh jdk-8u20-linux-x64.rpm 
# 为jdk配置环境变量,并测试
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

#使环境变量生效
source /etc/profile

将Tomcat安装在/opt/tomcat目录下

#  解压tomcat包至指定路径
tar zxf apache-tomcat-7.0.47.tar.gz -C /usr/src/
#  移动tomcat包至/opt目录
mv apache-tomcat-7.0.47 /opt/tomcat
# 启动tomcat
/opt/tomcat/apache-tomcat-7.0.47/bin/startup.sh 

测试tomcat访问页面

在这里插入图片描述

安装mod_jk模块

# 解压包至指定路径
tar zxf jakarta-tomcat-connectors-1.2.15-src.tar.gz -C /usr/src/
[root@ localhost src]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native/
[root@ localhost native]# ll
total 1112
-rw-r--r-- 1 szm root 241944 2005-09-23 20:20 aclocal.m4
drwxr-xr-x 2 szm root    254 2005-09-23 20:20 apache-1.3
drwxr-xr-x 2 szm root    160 2005-09-23 20:20 apache-2.0
-rwxr-xr-x 1 szm root    414 2004-07-23 16:06 buildconf.sh
-rw-r--r-- 1 szm root   4454 2002-07-01 19:01 BUILDING
-rw-r--r-- 1 szm root  26209 2005-09-23 20:20 CHANGES
drwxr-xr-x 2 szm root   4096 2005-09-23 20:20 common
-rwxr-xr-x 1 szm root 769218 2005-09-23 20:20 configure
-rwxr-xr-x 1 szm root  16600 2005-07-13 03:38 configure.in
drwxr-xr-x 3 szm root     17 2005-09-23 20:19 docs
drwxr-xr-x 2 szm root    195 2005-09-23 20:19 domino
drwxr-xr-x 3 szm root    191 2005-09-23 20:19 iis
drwxr-xr-x 2 szm root    179 2005-09-23 20:20 isapi
drwxr-xr-x 2 szm root    174 2005-09-23 20:20 jni
-rw-r--r-- 1 szm root    520 2001-07-05 00:59 Makefile.am
-rw-r--r-- 1 szm root  21377 2005-09-23 20:20 Makefile.in
drwxr-xr-x 2 szm root    110 2005-09-23 20:20 netscape
-rw-r--r-- 1 szm root  20082 2005-09-23 20:20 NEWS
drwxr-xr-x 2 szm root     51 2005-09-23 20:20 nt_service
-rw-r--r-- 1 szm root   1052 2002-07-01 19:01 README
drwxr-xr-x 3 szm root     19 2005-09-23 20:20 scripts
-rw-r--r-- 1 szm root    639 2005-04-28 16:14 STATUS.txt
#  配置编译安装
./configure --with-apxs=/usr/local/apache/bin/apxs && make && make install
[root@ localhost native]# ll /usr/local/apache/modules/
total 3872
-rw-r--r-- 1 root root   8998 2019-12-01 21:01 httpd.exp
-rwxr-xr-x 1 root root  13632 2019-11-30 10:33 mod_access_compat.so
-rwxr-xr-x 1 root root  13344 2019-11-30 10:33 mod_actions.so
-rwxr-xr-x 1 root root  22776 2019-11-30 10:33 mod_alias.so
-rwxr-xr-x 1 root root  12912 2019-11-30 10:33 mod_allowmethods.so
-rwxr-xr-x 1 root root  22216 2019-11-30 10:33 mod_auth_basic.so
-rwxr-xr-x 1 root root  50952 2019-11-30 10:33 mod_auth_digest.so
-rwxr-xr-x 1 root root  36688 2019-11-30 10:33 mod_auth_form.so
-rwxr-xr-x 1 root root  12984 2019-11-30 10:33 mod_authn_anon.so
-rwxr-xr-x 1 root root  18360 2019-11-30 10:33 mod_authn_core.so
-rwxr-xr-x 1 root root  18032 2019-11-30 10:33 mod_authn_dbd.so
-rwxr-xr-x 1 root root  13448 2019-11-30 10:33 mod_authn_dbm.so
-rwxr-xr-x 1 root root  13256 2019-11-30 10:33 mod_authn_file.so
-rwxr-xr-x 1 root root  27592 2019-11-30 10:33 mod_authn_socache.so
-rwxr-xr-x 1 root root  78824 2019-11-30 10:33 mod_authnz_ldap.so
-rwxr-xr-x 1 root root  32360 2019-11-30 10:33 mod_authz_core.so
-rwxr-xr-x 1 root root  18528 2019-11-30 10:33 mod_authz_dbd.so
-rwxr-xr-x 1 root root  17952 2019-11-30 10:33 mod_authz_dbm.so
-rwxr-xr-x 1 root root  18296 2019-11-30 10:33 mod_authz_groupfile.so
-rwxr-xr-x 1 root root  18376 2019-11-30 10:33 mod_authz_host.so
-rwxr-xr-x 1 root root  13016 2019-11-30 10:33 mod_authz_owner.so
-rwxr-xr-x 1 root root  13112 2019-11-30 10:33 mod_authz_user.so
-rwxr-xr-x 1 root root  50040 2019-11-30 10:33 mod_autoindex.so
-rwxr-xr-x 1 root root  13504 2019-11-30 10:33 mod_buffer.so
-rwxr-xr-x 1 root root  49352 2019-11-30 10:33 mod_cache_disk.so
-rwxr-xr-x 1 root root 111616 2019-11-30 10:33 mod_cache.so
-rwxr-xr-x 1 root root  49440 2019-11-30 10:33 mod_cache_socache.so
-rwxr-xr-x 1 root root  57920 2019-11-30 10:33 mod_cgid.so
-rwxr-xr-x 1 root root  71016 2019-11-30 10:33 mod_dav_fs.so
-rwxr-xr-x 1 root root 132040 2019-11-30 10:33 mod_dav.so
-rwxr-xr-x 1 root root  28024 2019-11-30 10:33 mod_dbd.so
-rwxr-xr-x 1 root root  53080 2019-11-30 10:33 mod_deflate.so
-rwxr-xr-x 1 root root  17976 2019-11-30 10:33 mod_dir.so
-rwxr-xr-x 1 root root  17400 2019-11-30 10:33 mod_dumpio.so
-rwxr-xr-x 1 root root  13384 2019-11-30 10:33 mod_env.so
-rwxr-xr-x 1 root root  18240 2019-11-30 10:33 mod_expires.so
-rwxr-xr-x 1 root root  32928 2019-11-30 10:33 mod_ext_filter.so
-rwxr-xr-x 1 root root  18640 2019-11-30 10:33 mod_file_cache.so
-rwxr-xr-x 1 root root  26760 2019-11-30 10:33 mod_filter.so
-rwxr-xr-x 1 root root  28992 2019-11-30 10:33 mod_headers.so
-rwxr-xr-x 1 root root  75824 2019-11-30 10:33 mod_include.so
-rwxr-xr-x 1 root root  34760 2019-11-30 10:33 mod_info.so
-rwxr-xr-x 1 root root 690704 2019-12-01 21:11 mod_jk.so
-rwxr-xr-x 1 root root  12952 2019-11-30 10:33 mod_lbmethod_bybusyness.so
-rwxr-xr-x 1 root root  12952 2019-11-30 10:33 mod_lbmethod_byrequests.so
-rwxr-xr-x 1 root root  12944 2019-11-30 10:33 mod_lbmethod_bytraffic.so
-rwxr-xr-x 1 root root  19072 2019-11-30 10:33 mod_lbmethod_heartbeat.so
-rwxr-xr-x 1 root root 111488 2019-11-30 10:33 mod_ldap.so
-rwxr-xr-x 1 root root  39544 2019-11-30 10:33 mod_log_config.so
-rwxr-xr-x 1 root root  18616 2019-11-30 10:33 mod_log_debug.so
-rwxr-xr-x 1 root root  14136 2019-11-30 10:33 mod_logio.so
-rwxr-xr-x 1 root root  22808 2019-11-30 10:33 mod_macro.so
-rwxr-xr-x 1 root root  27336 2019-11-30 10:33 mod_mime.so
-rwxr-xr-x 1 root root  46680 2019-11-30 10:33 mod_negotiation.so
-rwxr-xr-x 1 root root  79768 2019-11-30 10:33 mod_proxy_ajp.so
-rwxr-xr-x 1 root root  72112 2019-11-30 10:33 mod_proxy_balancer.so
-rwxr-xr-x 1 root root  26768 2019-11-30 10:33 mod_proxy_connect.so
-rwxr-xr-x 1 root root  17736 2019-11-30 10:33 mod_proxy_express.so
-rwxr-xr-x 1 root root  41128 2019-11-30 10:33 mod_proxy_fcgi.so
-rwxr-xr-x 1 root root  13600 2019-11-30 10:33 mod_proxy_fdpass.so
-rwxr-xr-x 1 root root  67096 2019-11-30 10:33 mod_proxy_ftp.so
-rwxr-xr-x 1 root root  46776 2019-11-30 10:33 mod_proxy_hcheck.so
-rwxr-xr-x 1 root root  59504 2019-11-30 10:33 mod_proxy_http.so
-rwxr-xr-x 1 root root  28056 2019-11-30 10:33 mod_proxy_scgi.so
-rwxr-xr-x 1 root root 177344 2019-11-30 10:33 mod_proxy.so
-rwxr-xr-x 1 root root  23528 2019-11-30 10:33 mod_proxy_uwsgi.so
-rwxr-xr-x 1 root root  26464 2019-11-30 10:33 mod_proxy_wstunnel.so
-rwxr-xr-x 1 root root  17864 2019-11-30 10:33 mod_ratelimit.so
-rwxr-xr-x 1 root root  36488 2019-11-30 10:33 mod_remoteip.so
-rwxr-xr-x 1 root root  18824 2019-11-30 10:33 mod_reqtimeout.so
-rwxr-xr-x 1 root root  18144 2019-11-30 10:33 mod_request.so
-rwxr-xr-x 1 root root  96384 2019-11-30 10:33 mod_rewrite.so
-rwxr-xr-x 1 root root  53888 2019-11-30 10:33 mod_sed.so
-rwxr-xr-x 1 root root  13648 2019-11-30 10:33 mod_session_cookie.so
-rwxr-xr-x 1 root root  36104 2019-11-30 10:33 mod_session_crypto.so
-rwxr-xr-x 1 root root  22752 2019-11-30 10:33 mod_session_dbd.so
-rwxr-xr-x 1 root root  27976 2019-11-30 10:33 mod_session.so
-rwxr-xr-x 1 root root  22536 2019-11-30 10:33 mod_setenvif.so
-rwxr-xr-x 1 root root  22984 2019-11-30 10:33 mod_slotmem_shm.so
-rwxr-xr-x 1 root root  22552 2019-11-30 10:33 mod_socache_dbm.so
-rwxr-xr-x 1 root root  18248 2019-11-30 10:33 mod_socache_memcache.so
-rwxr-xr-x 1 root root  34736 2019-11-30 10:33 mod_socache_shmcb.so
-rwxr-xr-x 1 root root  18296 2019-11-30 10:33 mod_speling.so
-rwxr-xr-x 1 root root  31272 2019-11-30 10:33 mod_status.so
-rwxr-xr-x 1 root root  30824 2019-11-30 10:33 mod_substitute.so
-rwxr-xr-x 1 root root  13384 2019-11-30 10:33 mod_unique_id.so
-rwxr-xr-x 1 root root  18248 2019-11-30 10:33 mod_unixd.so
-rwxr-xr-x 1 root root  13576 2019-11-30 10:33 mod_userdir.so
-rwxr-xr-x 1 root root  13120 2019-11-30 10:33 mod_version.so
-rwxr-xr-x 1 root root  17896 2019-11-30 10:33 mod_vhost_alias.so
-rwxr-xr-x 1 root root  28384 2019-11-30 10:33 mod_

为mod_jk配置后端的tomcat服务器

[root@ localhost native]# ll /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/conf/
total 16
-rw-r--r-- 1 szm root  563 2005-04-28 19:03 uriworkermap.properties
-rw-r--r-- 1 szm root 5658 2002-11-27 01:15 workers.properties
-rw-r--r-- 1 szm root  535 2005-04-28 18:59 workers.properties.minimal
[root@ localhost native]# 

生成mod_jk的配置文件

#   生成mod_jk的配置文件
#   为mod_jk配置后端的tomcat服务器
cp -r /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/conf/workers.properties /usr/local/apache/conf/
cd /usr/local/apache/conf/
[root@ localhost conf]# ll
total 68
drwxr-xr-x 2 root root   290 2019-12-02 11:10 extra
-rw-r--r-- 1 root root 13476 2019-12-02 11:56 httpd.conf
-rw-r--r-- 1 root root 12958 2019-12-02 11:10 magic
-rw-r--r-- 1 root root 29430 2019-12-02 11:10 mime.types
drwxr-xr-x 3 root root    37 2019-12-02 11:10 original
-rw-r--r-- 1 root root   101 2019-12-02 11:20 workers.properties
[root@ localhost conf]# cat /usr/src/path.txt 
##profileĩѐͭ¼
export JAVA_HOME=/usr/java/jdk1.8.0_20
export JAVA_BIN=/usr/java/jdk1.8.0_20/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

##workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

编辑配置文件workers.properties

#  把里面内容全部删除
vim workers.properties 
[root@ localhost conf]# cat workers.properties 
#添加如下
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
# 编辑修改阿帕奇配置文件
vim /usr/local/apache/conf/httpd.conf 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置Apache转发规则为只转发jsp的请求

# 编辑修改阿帕奇配置文件
vim /usr/local/apache/conf/httpd.conf 
#  文件末尾添加如下
LoadModule jk_module modules/mod_jk.so
JkWorkersFile  /usr/local/apache/conf/workers.properties
JkMount /*.jsp          worker1
#  重启阿帕奇服务
[root@ localhost conf]# /usr/local/apache/bin/apachectl restart
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName

使用浏览器访问index.jsp页面,测试Apache是否转发成功

测试访问动态页面

在这里插入图片描述

测试访问静态页面

在这里插入图片描述

#   进入tomcat根目录
cd /opt/tomcat/webapps/ROOT/
[root@ localhost ROOT]# cat index.html 
szm smz szm

将Apache的网站根目录设置为和Tomcat一致的

在这里插入图片描述

# 重启阿帕奇服务
/usr/local/apache/bin/apachectl restart

再次重启测试访问的时候发现403报错

在这里插入图片描述

编辑apache的配置文件httpd.conf,找到以下这段代码

vim /usr/local/apache/conf/httpd.conf
#  修改前的代码
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

在这里插入图片描述

#  修改后的代码
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all
</Directory>
# 重启阿帕奇服务
/usr/local/apache/bin/apachectl restart

再次测试访问页面

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值