(转)Linux整合apache和tomcat构建Web服务器

时间:2022-10-25 00:25:39
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wenzhongxiang.blog.51cto.com/6370734/1285892

Tomcat简介及作用:

Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

(转)Linux整合apache和tomcat构建Web服务器

Apache是一个强大的Web服务器在处理静态页面、处理大量网络客户请求、支持服务的种类以及可配置方面都有优势,高速并且强壮。但是没有JSP/Servlet的解析能力。整合Apache和Tomcat可以看作是用Tomcat做Apache的jsp/servlet解析插件,将两者优势结合起来。不过Tomcat作为一个Web服务器,本身具备了基本的Web服务功能,在SUN的力推下,将来或许越来越强壮到不需要借助Apache优势的地步。

Apache与tomcat的异同:

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

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

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

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

  • Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)

  • Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器;

Apache与tomcat整合的好处

  • 如果客户端请求的是静态页面,则只需要Apache服务器响应请求

  • 如果客户端请求动态页面,则是Tomcat服务器响应请求

  • 因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销

Apache只是一个WEB服务器,并不能运行JSP程序。如果要运行JSP程序,还需要安装TOMCAT服务器软件,通过连接器组件整合TOMCAT与APACHE。当用户请求访问.jsp网页时,由APACHE自动调用TOMCAT服务进行解析,并将结果页面返回到客户端浏览器。

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

一、搭建apache网站服务器

1、编译安装Apache

先从Apache官方网站上下载Linux下的apache的安装包,这里以http-2.3.8.tar.gz为例:

具体操作步骤如下:

整个实验通过编译方式安装apache(需要先卸载apache的RPM软件包):

(转)Linux整合apache和tomcat构建Web服务器

1)将apache源码包复制到RHEL6主机中并释放apache源码包:

(转)Linux整合apache和tomcat构建Web服务器

2)配置编译选项(编译时会报缺少APR的依赖错误):

[root@jsp ~]# cd /usr/src/httpd-2.3.8/

[root@jsphttpd-2.3.8]# ./configure  --prefix=/usr/local/apache2  --enable-so  --enable-rewrite  --enable-ssl  --with-ssl=/usr/lib  --enable-auth-digest  --enable-cgi  --with-suexec-caller=daemon  --with-suexec-docroot=/usr/local/apache2/htdocs   --with-apr=/opt/resource/apr-1.4.2   --with-apr-util=/opt/resource/apr-util-1.3.10

(转)Linux整合apache和tomcat构建Web服务器

解决方法:

下载apr-1.4.2.tar.gzapr-util-1.3.10.tar.gz两个文件,下载后,复制到/opt/resource/目录。

(如果按正常思路,我是先解决这些问题然后直接编译安装apache,这样会省去很多不必要的麻烦)

(转)Linux整合apache和tomcat构建Web服务器

解压apr-1.4.2.tar.gz和apr-util-1.3.10.tar.gz软件包:

(转)Linux整合apache和tomcat构建Web服务器

按先后顺序分别安装apr和apr-util软件:

安装apr-1.4.2软件:

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

安装apr-util软件:

[root@jsp apr-1.4.2]# cd  ../apr-util-1.3.10

[root@jspapr-util-1.3.10]#./configure --prefix=/opt/resource/apr-util-1.3.10--with-apr=/opt/resource/apr-1.4.2

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

到这里:安装apache所需apr的环境安装完毕。

重新执行编译apache的./configure时仍然报错,错误信息如下:

(转)Linux整合apache和tomcat构建Web服务器

解决方法:通过YUM安装关联libpcre软件包:

(转)Linux整合apache和tomcat构建Web服务器

重新执行./configure命令完成配置编译选项:

(转)Linux整合apache和tomcat构建Web服务器

3)编译并安装apache程序(编译安装过程貌似很长,期间可以喝杯咖啡哦,呵呵):

(转)Linux整合apache和tomcat构建Web服务器

到此Apache的安装完毕。

2、启动、终止及重启httpd服务

1)使用带start选项的apachectl命令启动httpd服务:

启动报错:

httpd: apr_sockaddr_info_get() failed for jsp

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

(转)Linux整合apache和tomcat构建Web服务器

排错思路:http://wenzhongxiang.blog.51cto.com/6370734/1285772;根据提示排除故障然后查看端口是否监听:

(转)Linux整合apache和tomcat构建Web服务器

2)为了使apache服务器的运行更加方便,可以为apachectl创建链接文件,以便管理员直接执行apachectl命令就可以启动apache服务。

(转)Linux整合apache和tomcat构建Web服务器

3)设置服务器开机后自动启动httpd服务:

(转)Linux整合apache和tomcat构建Web服务器

3、访问apache网站服务器的默认测试页:

在apache服务器上新建防火墙规则,允许http协议的数据包通过:

(转)Linux整合apache和tomcat构建Web服务器

在客户机使用浏览器访问WEB服务器:http://192.168.10.1

(转)Linux整合apache和tomcat构建Web服务器

整个Apache服务器的安装及调试到此完成。

二、安装Tomcat

1、安装配置jdk开发环境:

1)安装jdk软件(安装Tomcat的前提条件:先安装jdk并配置好jdk)如下图所示:

(转)Linux整合apache和tomcat构建Web服务器

(本实验是在32位的RHEL6环境下搭建实验环境,所以安装的JDK是32位的)

为jdk的安装目录及执行程序创建链接文件以方便使用:

注解:-f:选项表示ln命令替换在任何已存在的目的路径。

(转)Linux整合apache和tomcat构建Web服务器

修改/etc/profile文件,添加Java开发环境需要的变量设置。

JAVA_HOME=/usr/local/jdk6

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

(转)Linux整合apache和tomcat构建Web服务器

刷新配置:

(转)Linux整合apache和tomcat构建Web服务器

进行简单的测试:

eg:查看安装的jdk程序版本信息:

(转)Linux整合apache和tomcat构建Web服务器

eg:编写一个java测试小程序,编译并执行:

[root@jsp local]# vim welcome.java

public class welcome {

public static void main(String args[]) {

System.out.println("Stay hungry Stay foolish");

}

}

(转)Linux整合apache和tomcat构建Web服务器

执行javac 命令编译程序,执行java 命令运行welcome.java程序,如下图所示:

(转)Linux整合apache和tomcat构建Web服务器

测试成功!

1:安装配置Tomcat

1)安装(Tomcat的安装过程简单,只需要将源码包解压至目的文件夹即可):

(转)Linux整合apache和tomcat构建Web服务器

2)配置(为Tomcat的安装目录及启动、关闭服务的脚本创建链接文件,以方便使用):

(转)Linux整合apache和tomcat构建Web服务器

3)修改/etc/profile文件,设置Tomcat服务需要使用的变量CATALINA_HOME:

[root@jsp ~]#vim /etc/profile

JAVA_HOME=/usr/local/jdk6

CATALINA_HOME=/usr/local/tomcat

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CATALINA_HOME CLASSPATH PATH

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

4)修改tomcat-users.xml文件,添加管理员账户wen设置:

(转)Linux整合apache和tomcat构建Web服务器

5)进行测试:

启动Tomcat服务,并确认Tomcat服务的监听状态:

(转)Linux整合apache和tomcat构建Web服务器

设置Tomcat服务开机自启动:

(转)Linux整合apache和tomcat构建Web服务器

访问http://web服务器IP:8080,可以看到Tomcat的web首页,如下:

(转)Linux整合apache和tomcat构建Web服务器

通过单击“Tomcat Manager”链接登录Tomcat并进行管理,如下:

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

(转)Linux整合apache和tomcat构建Web服务器

Tomcat目录结构:

  • /bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件

  • /conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml

  • /doc:存放Tomcat文档

  • /server:包含三个子目录:classes、lib和webapps

  • /server/lib:存放Tomcat服务器所需的各种JAR文件

  • /server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用

  • /common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件

  • /shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)

  • /logs:存放Tomcat执行时的日志文件

  • /src:存放Tomcat的源代码

  • /webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录

  • /work:存放JSP编译后产生的class文件

如需停止Tomcat服务,可以执行“shutdown.sh”脚本

三、将Tomcat和Apache服务进行连接:

虽然Tomcat可以独立作为WEB服务器,但是Tomcat的WEB功能远没有Apache强大,在实际应用中,可以通过mod_jk连接器将Apache和Tomcat整合在一起。调用Tomcat服务的工作由Apache来完成,而用户只需要访问Apache服务。

1)安装mod_jk模块:

释放tomcat-connectors源码包(mod_jk连接器源码包)

编译配置:到解压后的native目录进行安装配置,指定apache目录、tomcat目录和JDK目录位置。

[root@jspnative]#./configure --with-apxs=/usr/local/apache2/bin/apxs --with-tomcat=/usr/local/tomcat --with-java-home=/usr/local/jdk6 --with-jni

(转)Linux整合apache和tomcat构建Web服务器

配置正确完成后,进行编译make,指定生成文件位置并make install:

(转)Linux整合apache和tomcat构建Web服务器

编译安装结束后在/usr/local/apache2/modules目录生成了一个mod_jk.so文件,这就是转发模块

(转)Linux整合apache和tomcat构建Web服务器

2)调整Apache服务、Tomcat服务的相关配置,并重启tomcat、apache服务。

切换到tomcat-connectors解压目录下的 conf子目录下,将相关文件拷贝到apache的相关目录下,如图所示:

(转)Linux整合apache和tomcat构建Web服务器

修改httpd.conf文件,在httpd.conf文件中添加如下内容:

[root@jsp ~]# vim /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-jk.conf

AddType application/x-httpd-jsp.jsp

(转)Linux整合apache和tomcat构建Web服务器

修改/usr/local/apache2/conf/extra/httpd-jk.conf文件,修改后内容如下:

(转)Linux整合apache和tomcat构建Web服务器

截图所列内容默认存在,而39、40行需用户自己手工添加。

修改workers.properties文件(workers.properties 是转发模块的工作单,用来定义转发主机和监听端口等内容。)

修改后的内容如下:

(转)Linux整合apache和tomcat构建Web服务器

注解:红线标注处需要修改,标号处用“#”号注解:

将tomcat主目录修改成和apache网站文档目录一致:

由于tomcat默认的主目录是/usr/local/tomcat/webapps/ROOT/,因此应编辑tomcat的主配置文件/usr/local/tomcat/conf/server.xml文件,找到如下语句。

(转)Linux整合apache和tomcat构建Web服务器

3)重启apache和tomcat服务:

(转)Linux整合apache和tomcat构建Web服务器

4)进行测试:

eg:创建一个显示系统时间的JSP测试页:

[root@jsp ~]# cd /usr/local/apache2/htdocs/

[root@jsp htdocs]# vim welcome.jsp

<%@page language="java" import="java.util.*" %>

Stay hungry Stay foolish !!!

Now the time is: <%out.println(new Date());%>

截图内容如下:

(转)Linux整合apache和tomcat构建Web服务器

通过浏览器访问welcome.jsp测试页,访问效果如下:

(转)Linux整合apache和tomcat构建Web服务器

Apache和tomcat整合实验到此结束(这里我们所要了解的最基本的概念就是我们在使用apache和tomcat时存在的最大差异在哪里,他们整合在一起的优点又有哪些,这是关键)。

供大家学习,共同进步!

本文出自 “听闻” 博客,请务必保留此出处http://wenzhongxiang.blog.51cto.com/6370734/1285892

(转)Linux整合apache和tomcat构建Web服务器的更多相关文章

  1. linux下apache和tomcat整合

    一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...

  2. 在CentOS下企图整合Apache和Tomcat依然失败

    环境: 64位CentOS  Linux version 2.6.32-431.el6.x86_64 CentOS release 6.5 (Final) Apache/2.2.15,mod_jk/1 ...

  3. Windows下整合apache和Tomcat

    1.前言: 引用:http://www.cnblogs.com/liaokailin/p/3963603.html 引用的博客里面有比较详细的说明,并且结合图片,非常生动: 我这里只做简单的说明和整合 ...

  4. 使用Vert&period;x构建Web服务器和消息系统

    如果你对Node.js感兴趣,Vert.x可能是你的下一个大事件:一个建立在JVM上一个类似的架构企业制度. 这一部分介绍Vert.x是通过两个动手的例子(基于Vert.x 2.0). 当Node.j ...

  5. Tomcat与Web服务器、应用服务器的关系

    Tomcat服务器是一个免费的开放源代码的Web应用服务器.因为Tomcat技术先进.性能稳定且免费,所以深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器. A ...

  6. NodeJs&plus;http&plus;fs&plus;request&plus;cheerio 采集&comma;保存数据&comma;并在网页上展示&lpar;构建web服务器&rpar;

    目的: 数据采集 写入本地文件备份 构建web服务器 将文件读取到网页中进行展示 目录结构: package.json文件中的内容与上一篇一样:NodeJs+Request+Cheerio 采集数据 ...

  7. 用tomcat搭建web服务器

    链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...

  8. &lbrack;WebServer&rsqb; Linux下Apache与Tomcat整合的简单方法

    Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由to ...

  9. apache和tomcat有什么不同,为什么要整合apache 和tomcat

    1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展.2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Ap ...

随机推荐

  1. 如何给不支持新特性的浏览器打补丁&lpar;让老版本IE兼容新特性&rpar;

    一个非常棒的 JavaScript 框架叫做 Modernizr(http://www.modernizr. com),用于向缺少 HTML5/CSS3特性支持的浏览器打补丁.由 Alexander ...

  2. 一个简单的tr&colon;hover效果

    昨天,搞项目的时候,在一个小问题上卡了40分钟,现在想想,还是平时比较少去注意一些细节,经过这次,一定要去多注意细节了. 好了废话不多说,我现在说明下遇到的问题,一个表格中,要求是当鼠标滑过每一行时, ...

  3. foundation框架之反射机制

    概念 例子 一.概念 反射:根据字符串实例话对象或者调用方法 // // main.m // 反射机制 // // Created by apple on 14-3-28. // Copyright ...

  4. update&lowbar;engine-整体结构&lpar;二&rpar;

    在update_engine-整体结构(一)中分析UpdateEngineDaemon::OnInit()的整体情况.下面先分析在该方法中涉及的DaemonStateAndroid和BinderUpd ...

  5. C&num;&period;NET 大型通用信息化系统集成快速开发平台 4&period;1 版本 - 树形选择项目的标准例子

    用成套的现成的方法引导大家开发程序,整个团队的开发效率会很高.例如我们现在有30多个开发人员,若有300个开发人员,这开发工作很容易乱套,我们需要有效的管理维护所有团队的开发工作.把数据结构.通用的组 ...

  6. 32&period; Springboot 系列(八)动态Banner与图片转字符图案的手动实现

    使用过 Springboot 的对上面这个图案肯定不会陌生,Springboot 启动的同时会打印上面的图案,并带有版本号.查看官方文档可以找到关于 banner 的描述 The banner tha ...

  7. 几种int类型的范围

    我们在编程的过程经常会遇到数据溢出的情况,于是这个时候我们必须定义能表示更大的数的数据类型来表示这个数. 下面列出了int型的范围: unsigned   int   0-4294967295    ...

  8. RPC和RabbitMQ

    在单台机器或者单个进程中,如果要调用某个函数,只需要通过函数指针,传入相关参数,即可调用成功并获得结果.但如果是在分布式系统中,某个进程想要调用远程机器上的其它进程提供的方法(服务),就需要采用RPC ...

  9. ubuntu普通用户无法使用usdo命令

    1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去. 2.添加sudo文件的写权限,命令是: chmod u+w /etc/sudoers 3.编辑sudoers文件 vi /etc/s ...

  10. 让svn具有分布式的功能。

    最近开发遇到了个难事.公司的svn库不能随便提交,必须要经过验证.但是平时修改太多,如果不提交到svn说不定前面被删掉的代码后面又需要了.svn自带的relocate和switch都不能达到要求.找遍 ...