当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 用Apache+Tomcat创建与管理Web服务器

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 用Apache+Tomcat创建与管理Web服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 55 ::
收藏到网摘: n/a


Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。Apache成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

几乎所有的Linux发布都安装Apache作为默认配置。SuSE7.1甚至预安装有包括各种高级模块选项的Apache,如PHP3,mod_perl和LDAP等等。用户会惊奇地发现系统安装成功就会有一个功能强大的Web服务器可供选择。虽然安装Apache并不是非常简单,但是如果有具有新的特性或安全补丁的Apache发布,则下载源代码包并编译新的Apache是值得的。

Apache不但具有庞大的用户群基础,并且有丰富的配置使用文档。Apache提供服务器端对脚本技术的支持,比如Perl、PHP等,Apache结合使用ApacheJServ可以实现对Javaservlets及JSP的支持。Apache的很多模块实现安全方面的防护:如mod_auth提供对对服务器上数据进行适当的保护,而SSL模块则用来保护服务器和客户端之间的通信安全。

下面我们再介绍一下Tomcat服务器软件,Tomcat是Sun和Apache合作做出来的JSPServer,支持Servlet2.2及JSP1.1等版本。笔者建议大家使用Tomcat,而且Tomcat未来将会取代JServ,成为Apache主要的Servlet&JSPEngine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。

作为WEB服务器扩展的Tomcat服务器有一些问题需要说明:

当处理静态页面时,Tomcat不如Apache迅速。
Tomcat不象Apache一样可配置。
Tomcat不象Apache一样强壮。

基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面。

采用apache->tomcat这样的结构才具有更特出的优点,主要体现在具有更好的可扩展性和安全性。这种类型的站点的主要特点是每一个页面都可能是动态生成的,但这些数据中主要部分还是静态的(比如,各类图像GIF、JPG、PNG,流式媒体等),这种结构的优点是兼有可扩展性和安全性。

下面以solairs8为例,免费下载Solaris版的Apache1.3.27,Tomcat4.1.12来说明安装配置WEB服务软件apache和应用服务软件tomcat(包括JDK),其它平台可以类比。

注意:下载的Apache、Tomcat的版本与操作系统的类型有关。

一、应用环境
操作系统为Solaris8,应用环境为Java1.3(假定安装在/usr/java1.3目录下)、perl5.6(假定安装在/usr/local/bin目录下)和gzip(假定安装在/usr/local/bin目录下)。

二、软件包的下载、编译与安装
1、下载地址

在http://www.apache.org可下载Apache源代码软件包apache_1.3.27.tar.gz。
在http://jakarta.apache.org/builds/tomcat/release/v4.1.12/src/可下载Tomcat源代码软件包jakarta-tomcat-4.1.12-src.tar.gz。
在http://jakarta.apache.org/builds/jakarta-tomcat/release/v4.1.12/bin/可下载已编译的Tomcat应用软件包jakarta-tomcat-4.1.12.tar.gz。

2、编译与安装

假设各软件包已下载到当前的某个工作目录(如:/home/tmp)下,Apache和Tomcat将安装在/home目录下。在当前目录我们可以进行如下操作。

1)编译和安装Apache应用服务

①解包

$/usr/local/bin/gzip-dc./apache_1.3.27.tar.gz|tarxf-

②编译

$cdapache_1.3.27
$./configure--prefix=/home/apache-1.3.27
--with-perl=/usr/local/bin/perl--enable-module=so

假设perl的解释命令安装在/usr/local/bin目录下,Apache服务安装在/home/apache-1.3.27目录下。

$make

③安装

$su
#makeinstall

2)编译与安装mod_jk插件

①解包

$/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12-src.tar.gz|tarxf-

②编译

$cdjakarta-tomcat-4.1.12-src/src/native/apache1.3
$/home/apache-1.3.27/bin/apxs-omod_jk.so-DSOLARIS-I../jk-I/
usr/java1.3/include-I/usr/java1.3/include/solaris-lposix4-c*.c../jk/*.c

假定Java安装在/usr/java1.3目录下。

③安装

$su
#/home/apache-1.3.27/bin/apxs-i-a-njkmod_jk.so
cpmod_jk.so/home/apache-1.3.27/libexec/mod_jk.so
chmod755/home/apache-1.3.27/libexec/mod_jk.so
[activatingmodule`jkin/home/apache-1.3.27/conf/httpd.conf]

3)安装Tomcat服务

用超级用户身份把已编译的Tomcat4.1.12解包到/home目录下即可。

$su
#/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12.tar.gz|(cd/home;tarxf-)

3、参数配置

(1)配置Apache服务

用vi命令打开Apache的配置文件httpd.conf。

#cd/home/apache-1.3.27/conf
#vihttpd.conf

在末尾添加以下内容。

JkWorkersFile/home/jakarta-tomcat-4.1.12/conf/workers.properties
JkLogFile/home/apache-1.3.27/logs/mod_jk.log

注意:日志文件可根据具体情况调整。

JkLogLevelwarn
JkMount/*.jspajp13
JkMount/servlet/*.jspajp13

(2)配置Tomcat服务

首先,修改server.xml文件。

这里假定存放Apache的Web网页的根目录为/home/htdocs。

#cd/home/jakarta-tomcat-4.1.12/conf
#viserver.xml

然后,在Connectors部分嵌入如下内容。

<ConnectorclassName="org.apache.tomcat.service.
PoolTcpConnector"><Parametername="handler"
value="org.apache.tomcat.service.connector.Ajp
13ConnectionHandler"/>
<Parametername="port"value="8007"/>
</Connector>

接着,在SpecialWebapps部分嵌入如下内容。

<Contextpath=""
docBase="/home/htdocs"
debug="0">
</Context>

修改workers.properties文件。

#viworkers.properties
...
workers.tomcat_home=/home/jakarta-tomcat-4.1.12
...
workers.java_home=/usr/java1.3
...
ps=/
...

随后,修改Tomcat启动和关闭命令文件。

#cd../bin
#vistartup.sh

再在"BASEDIR=`dirname$0`"语句前嵌入如下内容。

PATH=/usr/java1.3/bin:$PATH:.
JAVA_HOME=/usr/java1.3
TOMCAT_HOME=/home/jakarta-tomcat-4.1.12
ExportPATHJAVA_HOMETOMCAT_HOME
#vishutdown.sh

最后,在"BASEDIR=`dirname$0`"语句前嵌入如下内容。

PATH=/usr/java1.3/bin:$PATH:.
JAVA_HOME=/usr/java1.3
TOMCAT_HOME=/home/jakarta-tomcat-4.1.12
ExportPATHJAVA_HOMETOMCAT_HOME

至此,Apache和Tomcat服务器软件安装成功,上面是在UNIX(Solaris)平台下构建JSP网站的基本配置。Apache与Tomcat结合支持JSP动态网页开始是通过一个名为"mod_jserv"的插件来实现的,采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL(一种加密传输方式)的支持也不理想,因此Jakarta工作组新近开发了"mod_jk"插件,它很好地弥补了mod_jserv的缺点,而且能支持Apache以外的多种Web服务。关于这种Apache/Jk方式的实现原理,请参考有关资料。

三、UNIX或LIUNX环境下Web服务器的安全管理与维护
1、Apache和Tomcat的启动和关闭
#/home/apache-1.3.27/bin/apachectlstart启动
#/home/apache-1.3.27/bin/apachectlstop关闭
#/home/jakarta-tomcat-4.1.12/bin/startupsh启动
#/home/jakarta-tomcat-4.1.12/bin/shutdownsh关闭

2、Apache和Tomcat的web服务器的安全管理

1)Apache和Tomcat都具有支持安全Socket层(SSL)的功能

在Tomcat中声明安全性,WEB应用程序的安全性主要在相应的Web.xml中设置,Tomcat支持的鉴权机制为HTTP基本鉴权机制BASIC和基于表单的鉴权机制FROM(JSP网站)。

过滤是Tomcat4的新功能,能够用过滤器来实现以前使用不便的或难以实现的功能,这些功能包括:

资源访问(Web页、JSP页、servlet)的定制身份认证;
应用程序级的访问资源的审核和记录;
应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上;
对被访问资源的及时转换,包括从servlet和JSP的动态输出。