整合apache和tomcat构建Web服务器

来源:互联网 发布:银行数据质量自查报告 编辑:程序博客网 时间:2024/05/01 13:44

Tomcat简介及作用:

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

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

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

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

Apachetomcat的异同:

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

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

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

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

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

  • TomcatApache组织在符合J2EEJSPServlet标准下开发的一个JSP服务器;

Apachetomcat整合的好处

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

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

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

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

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

一、搭建apache网站服务器

1、编译安装Apache

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

具体操作步骤如下:

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

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

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

解决方法:

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

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

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

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

安装apr-1.4.2软件:

安装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

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

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

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

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

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

到此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

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

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

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

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

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

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

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

二、安装Tomcat

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

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

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

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

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

修改/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

刷新配置:

进行简单的测试:

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

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

[root@jsp local]# vim welcome.java

  public class welcome {

    public static void main(String args[]) {

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

   }

}

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

测试成功!

1:安装配置Tomcat

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

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

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

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

5)进行测试:

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

设置Tomcat服务开机自启动:

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

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

Tomcat目录结构:

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

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

  • /doc:存放Tomcat文档

  • /server:包含三个子目录:classeslibwebapps

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

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

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

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

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

  • /src:存放Tomcat的源代码

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

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

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

三、将TomcatApache服务进行连接:

虽然Tomcat可以独立作为WEB服务器,但是TomcatWEB功能远没有Apache强大,在实际应用中,可以通过mod_jk连接器将ApacheTomcat整合在一起。调用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

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

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

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

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

修改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

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

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

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

修改后的内容如下:

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

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

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

3)重启apachetomcat服务:

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());%>

截图内容如下:

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

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

供大家学习,共同进步!

 

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

 

另供参考:

http://502245466.blog.51cto.com/7559397/1304050

http://brofe.iteye.com/blog/1989726

http://blog.csdn.net/lifetragedy/article/details/7698555

http://blog.csdn.net/lifetragedy/article/details/7699236

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机信息被拦截怎么办 手机有感染病毒怎么办 华为p10速度慢怎么办 华为手机清理慢 怎么办 华为手机有回音怎么办 手机没有返回键怎么办 手机总显示内存不足怎么办 扩音器耳麦接触不良怎么办 音响插头接触不良怎么办 华为手机耳机声音小怎么办 苹果耳机孔变形怎么办 耳机孔松了怎么办 荣耀9青春版费电怎么办 华为双清了怎么办 华为开不开机怎么办 华为手机黑屏打不开怎么办 荣耀v8指纹消失怎么办 耳机话筒进水了怎么办 beats耳机进水了怎么办 音量孔进水了怎么办 苹果手机屏幕进水了怎么办 耳机孔进水了怎么办 华为v10声音小怎么办 荣耀v10声音小怎么办 华为变耳机模式怎么办 小米六耳机模式怎么办 苹果成耳机模式怎么办 苹果调耳机模式怎么办 ipad耳机孔进水怎么办 iphone一直是耳机模式怎么办 华为耳机音质不好怎么办 苹果声音键失灵怎么办 苹果耳机不兼容怎么办 usb耳机声音小怎么办 手机不认耳机怎么办 华为手机视频无声怎么办 苹果进入耳机模式怎么办 号码丢了怎么办挂失 移动手机卡丢了怎么办 连接不上蓝牙怎么办 音响主板坏了怎么办