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