apache与tomcat整合

Apache和Tomcat的区别:

Apache只是一个Web服务器,可以作为独立的web服务器来运行,不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显得无能为力。

Tomcat也可以作为独立的web服务器来运行。但Tomcat也是应用(java)服务器,它只是一个Servlet容器。

由于Apache解释静态页面要比tomcat快速而且稳定, 基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;

并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面;

Apache+Tomcat整合的好处:

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

2. Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到Apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,如果是动态的请求,如jsp,apache会把解析工作交给tomcat,由tomcat进行解析(这首先要两者现实整合),tomcat解析完成后,结果仍是通过apache返回给客户端,这样就可以达到分工合作,实现负载均衡,提高系统的性能!而且因为JSP是服务器端解释代码的,这样整合可以减少Tomcat的服务开销

安装Apache

yum -y install httpd httpd-devel

卸载自带的jdk环境

rpm -ivh jdk-8u20-linux-x64.rpm 安装jdk环境

./jdk.sh 配置环境变配置环境变量

#vi /etc/profile

在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

source /etc/profile 让/etc/profile 文件修改后立即生效

java -version 查看Java版本号

mkdir /opt/tomcat 创建tomcat安装目录

tar -xzvf apache-tomcat-7.0.47.tar.gz 解压缩tomcat源码包

cp -r apache-tomcat-7.0.47/* /opt/tomcat 指定一个安装目录

cd /opt/tomcat/bin/

./startup.sh 启动tomcat服务

lsof -i:8080 查看是否成功开启

service iptables stop 关闭防火墙

setenforce 0 关闭selinux

现在可以测试tomcat是否成功安装了(访问:http://ip:8080)

安装提供 通过uri路径来区分客户端访问页面类型的模块(mod_jk模块也叫连接器)

tar -xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz

cd jakarta-tomcat-connectors-1.2.15-src/jk/native/

yum -y install gcc gcc-c++- 安装编译工具

./configure --with-apxs=/usr/sbin/apxs

make

make install

查看mod_jk.so是否已经存在

[root@wg63 native]# ls /etc/httpd/modules/mod_jk.so

/etc/httpd/modules/mod_jk.so

生成mod_jk的配置文件

cd /root/Desktop/ jakarta-tomcat-connectors-1.2.15-src/jk/conf

cp workers.properties /etc/httpd/conf

编辑配置文件workers.properties

vim /etc/httpd/conf/workers.properties

可以删除workers.properties里面的所有内容,再添加以下内容

worker.list=worker1

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

修改Apache配置文件

vim /etc/httpd/conf/httpd.conf

在DirectoryIndex参数那添加index.jsp

在配置文件最后一行添加

LoadModule jk_module modules/mod_jk.so #加载mod_jk.so模块

JkWorkersFile /etc/httpd/conf/workers.properties #指定mod_jk模块的配置文件

JkMount /*.jsp worker1 #将所有以.jsp结尾的请求转发给worker1

service httpd restart 重启Apache

在浏览器访问http://localhost/index.jsp,如果可以访问到index.jsp页面说明整合成功。

原文发布于微信公众号 - 大数据架构师专家(xinsz08)

原文发表时间:2017-12-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白鼠

Ionic3 自动化发布

本文主要介绍使用Jenkins实现app应用的自动打包发布。每次执行jenkins任务的时候,大概流程如下:打包app应用》将app应用作为邮件附件发送给件给客...

10020
来自专栏北京马哥教育

原创投稿 | 如何实现nagios发送通知邮件

前言 上一篇已经介绍了nagios如何实现对主机及服务的监控,尽可能实现对系统运行状态的全面监控只是初级目标,nagios还可以借助smtp服务发送通知信息给指...

50060
来自专栏Linyb极客之路

单点登录原理与简单实现

  web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关...

14620
来自专栏性能与架构

使用 cURL 测量网站响应时间

内容整理自:https://blog.cloudflare.com/a-question-of-timing/,其中还有 chrome 的测量方式,有兴趣的朋友...

22320
来自专栏linux运维学习

linux学习第四十八篇:php-fpm的pool,php-fpm慢执行日志,定义open_basedir,php-fpm进程管理

php-fpm的pool Nginx可以配置多个虚拟主机,php-fpm同样也支持配置多个pool,每一个pool可以监听一个端口,也可以监听一个socket...

21650
来自专栏Java帮帮-微信公众号-技术文章全总结

05.Git分支管理

05.Git分支管理 Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。...

38570
来自专栏idba

聊聊 5.7 error log 那些事儿

MySQL的错误日志(error log)用来记录mysqld启动和关闭过程的信息,启停slave以及死锁日志,bug,core dump 等信息。 在调研 M...

13010
来自专栏Laoqi's Linux运维专列

Ansible 实战与配置(Ⅲ)

16630
来自专栏JAVA同学会

nginx的基础应用(续)

上一篇文章我们介绍了nginx的基础应用,其中讲到了nginx作为代理服务器的使用,但是漏了一个重要的,也是使用非常普遍的特性——负载均衡。今天,我们将这段内容...

11760
来自专栏Java架构师历程

maven介绍

1 如果使用了spring,去spring的官网下载jar包;如果使用hibernate,去hibernate的官网下载Jar包;如果使用Log4j,去log4...

53150

扫码关注云+社区

领取腾讯云代金券