问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何整合Apache与Tomcat

发布网友 发布时间:2022-04-26 09:58

我来回答

2个回答

懂视网 时间:2022-04-30 15:21

apache支持静态页,tomcat支持动态的,比如servlet等。

一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。

apache可以支持phpcgiperl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理。

apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。

2.整合的好处是:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求
如果客户端请求动态页面,则是Tomcat服务器响应请求
因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销

    先安装LAMP环境·······略

实现环境:

Linux:Centos6.5

Apache:httpd-2.2.16.tar.gz

Cmake:cmake-2.8.10.2.tar.gz

Mylsq:mysql-5.6.10.tar.gz

Php:php-5.3.28.tar.gz

所用到的软件:

Tomcat:apache-tomcat-7.0.64.tar.gz

Tomcat连接器:tomcat-connectors-1.2.32-src.tar.gz

JDK:jdk-7u67-linux-x64.tar.gz

Tomcat连接数据库:mysql-connector-java 5.1.17

1.安装JDK

 ·解压并移动JDK

tar zxvf  jdk-8u31-linux-i586.tar.gz    
mv jdk1.8.0_31   /usr/local/jdk

·修改环境变量

vim /etc/profile.d/java.sh

JAVA_HOME=/usr/local/jdk       
JAVA_BIN=/usr/local/jdk/bin
JRE_HOME=/usr/local/jdk/jre
PATH=$PATH:/usr/local/jdk/bin:/usr/local/jdk/jre/bin
CLASSPATH=/usr/local/jdk/jre/lib:/usr/local/jdk/lib:/usr/local/jdk/jre/lib/charsets.jar

 ·初始化

. /etc/profile.d/java.sh

·测试是否配置成功

java  -version

2.安装Tomcat

·解压并移动

tar zxvf apache-tomcat-7.0.57.tar.gz              
mv apache-tomcat-7.0.57  /usr/local/tomcat

·启动Tomcat

cd /usr/local/tomcat/bin
./shutdown.sh     #停止tomcat
./startup.sh      #启动tomcat

·测试tomcat

网站输入ip:8080 出现tomcat默认页面

3.整合tomcat和Apache         #需要借助apache-tomcat的连接器

·解压tomcat连接器

tar zxvf tomcat-connectors-1.2.32-src.tar.gz

·指定Apache的apxs路径

cd tomcat-connectors-1.2.32-src/native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make

·添加mod_jk模块

tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
cd jakarta-tomcat-connectors-1.2.15-src
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

·Apache整合tomcat

vim  /usr/local/apache2/conf/httpd.conf

在DirectoryIndex上添加nindex.jsp
<IfModule dir_module>
     DirectoryIndex index.jsp index.php index.html
</IfModule>

·增加关于加载mod_jk的语句

技术分享

·在/usr/local/apache2/conf下建立配置文件mod_jk.conf

指出mod_jk模块工作所需要的工作文件workers.properties的位置, jk日志放在哪里, jk日志级别, 选择日志格式, JkOptions送SSL关键尺寸显示, JkRequestLogFormat设置要求的格式 , 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理

vim /usr/local/apache2/conf/mod_jk.conf

JkWorkersFile /usr/local/apache2/conf/workers.properties
	 
	###### Where to put jk logs
	JkLogFile /usr/local/apache2/logs/mod_jk.log
	 
	###### Set the jk log level [debug/error/info]
	JkLogLevel info
	 
	###### Select the log format
	JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
	 
	###### JkOptions indicate to send SSL KEY SIZE,
	JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
	 
	###### JkRequestLogFormat set the request format
	JkRequestLogFormat "%w %V %T"
	 
	###### 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
	JkMount /*.jsp worker1
	JkMount /*.do worker1

·在/usr/local/apache2/conf下建立配置文件workers.properties

定义一个工人叫worker1 ajp13和类型

vim /usr/local/apache2/conf/workers.properties

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.prot=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

·找到tomcat配置文件路径,编辑server.xml

vim /usr/local/tomcat/conf/server.xml

·在<host>段加入

<Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="ture"
 crossContext="ture"/>

·编辑一个index.jsp的网页

vim /usr/local/apache2/htdocs/index.jsp

<% 
    out.println("hello tomcat ");
  %>

·重启tomcat和apache

/usr/local/apache2/bin/apachectl  restart
cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh

·整合完成,测试

 输入ip地址,出现hello tomcat

4.连接数据库

jsp使用mysql-connector-java 5.1.17连接mysql

·解压zip包

unzip mysql-connector-java 5.1.17.zip

·把mysql-connector-java 5.1.17-bin.jar 放到tomcat目录下的lib目录

cp mysql-connector-java-5.1.17-bin.jar /usr/local/tomcat/lib/

·编写一个测试页面 test_mysql.jsp,如果页面显示OK就标明可以连接到数据库

vim /usr/local/apache2/htdocs/test_mysql.jsp

<%@ page language="java" %>
	<%@ page import="com.mysql.jdbc.Driver" %>
	<%@ page import="java.sql.*" %>
	<%
	String driverName="com.mysql.jdbc.Driver";
	String userName="root";
	String userPasswd="123";
	String dbName="test";
	String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
	Class.forName("com.mysql.jdbc.Driver").newInstance();
	try
	{
	        Connection connection=DriverManager.getConnection(url);
	        out.println(" O K !");
	        connection.close();
	}
	catch( Exception e )
	{
	        out.println( "connent mysql error:" + e );
	}
	%>

·重启tomact和Apache,属于ip/test_mysql.jsp 出现OK 则连接成功

本文出自 “翟军铭的linux博客” 博客,请务必保留此出处http://zhaijunming5.blog.51cto.com/10668883/1694887

Apache整合Tomcat连接数据库

标签:连接数据库   web服务器   客户端   java   linux   

热心网友 时间:2022-04-30 12:29

2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。
3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)
4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。
5. Apache和Tomcat是独立的,在通一台服务器上可以集成。
打个比方:Apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。
Apache只支持静态网页,但像jsp等动态网页就需要Tomcat来处理。
Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。
Apache 源于 NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache对Linux的支持相当完美。
Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、 Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采用Tomcat。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 apache mina 是长连接还是短连接 Java netty的option(ChannelOption.SO_BACKLOG, backLog)什么意思 java.net.SocketException: Software caused connection abort: recv failed 如何判断websocket断开 java 服务端怎么释放http连接 如何实现java http长连接推送数据 java的自动发送心跳包究竟是该写在服务器还是客户端 SO_KEEPALIVE是java中哪个类的呀,是什么意思呀 大理州有哪些旅游景点 云南大理有哪些好耍的地方 云南大理有哪些好玩的地方 云南大理有哪些好玩的? 大理宾川鸡足山景区的景区概述 云南大理有哪些景点 云南大理南涧旅游景点和宾川哪个好玩? 大理宾川有哪些旅游景点 提子酒跟红酒有什么区别么? 葡萄蒸馏酒和红提葡萄蒸馏酒有什么区别? 酿酒使用葡萄,食用葡萄和提子到底有什么区别 人教版初二物理下预习 微信小程序怎么改变picker-view的背景颜色 微信小程序的picker组件不能使用对象怎么办 微信小程序picker只能是数组吗 微信小程序picker有没有触发 小程序怎么判断picker mode region 小程序商城列表的数据是绑定在js 怎么实现下拉? “索取销售款凭据”是指什么? 求助,取得索取营业收入款项凭证是什么意思 有个问题求教:销售货物或应税劳务的纳税义务的发生时间为收讫销售款项或取得索取销售款项凭据的当天。 如何确定取得索取销售款项凭据的“当天”? 销售款项凭据是指什么 房地产开发企业自行开发房地产的会计处理有哪些 房地产企业预售阶段取得的成本票据企业所得税汇算吋如何处理? 老师您好,(一)采取直接收款方式销售货物,不论货物是否发出。均为收到销售额或取得索取销售额的凭据, 什么是会计确认,计量和报告的空间范围? 房地产企业确认销售收入的条件有哪些 房地产企业如何确认销售收入? 土地增值税清算中要注意的事项是什么? 房地产企业销售已完工产品取得的预收款所得税怎么处理 请问会计学中的“认列”是什么意思?