分类: LINUX
2007-04-04 09:26:56
3.1 安装Apache服务器
可以通过以下三种方法安装Apache服务器。
1)如果安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。
2)使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。下载软件包apache_1.2.4.e.tar.gz ,执行命令tar xvzf apache_1.2.4.e.tar.gz 完成安装工作。如果使用的是RedHat Linux的话,也可以下载apache_1.2.4.rpm软件安装包,然后使用rpm –ivh apache_1.2.4.rpm命令安装。
3)如果想把Apache服务器充分利用起来的话,就一定要自己编译Apache 定制其功能。 下载包含Apache源代码的软件包apache_1.2.4.tar.gz;然后用tar命令将它解开;将当前目录改变为Apache源代码发行版的src目录;将配置样本文件(Configuration.tmpl)复制为Configuration文件;编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项:
. “CC=”一行指定用什么编译软件编译,一般为“CC=gcc”;如果需要将额外的标志(参数)指定给C编译软件,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
如果系统需要特殊的库和包含文件,可以在这里指定它们:
EXTRA_LIBS=
EXTRA_INCLUDES=
如果要改变代码优化设置的话,须将下面一句去掉注释,然后改成所需要的值:
#OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:
AddModule modules/standard/mod_env.o
如果需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。
下面列出了Apache的模块功能:
模块名 功能 缺省
mod_access 提供基于主机的访问控制命令 y
mod_actions 能够运行基于MIME类型的CGI脚本或HTTP请求方法 y
mod_alias 能执行URL重定向服务 y
mod_asis 使文档能在没有HTTP头标的情况下被发送到客户端 y
mod_auth 支持使用存储在文本文件中的用户名、口令实现认证 y
mod_auth_dbm 支持使用DBM文件存储基本HTTP认证 n
mod_auth_mysql 支持使用MySQL数据库实现基本HTTP认证 n
mod_auth_anon 允许以匿名方式访问需要认证的区域 y
mod_auth_external 支持使用第三方认证 n
mod_autoindex 当缺少索引文件时,自动生成动态目录列表 y
mod_cern_meta 提供对元信息的支持 n
mod_cgi 支持CGI y
mod_dir 能够重定向任何对不包括尾部斜杠字符命令的请求 y
mod_env 使你能够将环境变量传递给CGI或SSI脚本 n
mod_expires 让你确定Apache在服务器响应请求时如何处理Expires y
mod_headers 能够操作HTTP应答头标 y
mod_imap 提供图形映射支持 n
mod_include 使支持SSI n
mod_info 对服务器配置提供了全面的描述 y
mod_log_agent 允许在单独的日志文件中存储用户代理的信息 n
mod_log_config 支持记录日志 y
mod_log_referer 提供了将请求中的Referer头标写入日志的功能 n
mod_mime 用来向客户端提供有关文档的元信息 y
mod_negotiation 提供了对内容协商的支持 y
mod_setenvif 使你能够创建定制环境变量 y
mod_speling 使你能够处理含有拼写错误或大小写错误的URL请求 n
mod_status 允许管理员通过WEB管理Apache y
mod_unique_id 为每个请求提供在非常特殊的条件下保证是唯一的标识 n
在src目录下执行:“. /configure”;
编译Apache:执行命令“make”;
将编译好的可执行文件httpd复制到/etc/httpd/bin目录下;将Apache发行版的配置文件:access.conf、httpd.conf、mime.types、srm.conf文件复制到/etc/httpd/conf目录下。到此为止,安装完成。
3.1单独运行Apache httpd的优点
1)Apache httpd比Tomcat内建的Web服务器快。
2)较多的软件支持。Apache httpd有庞大的支持软件链接库。
3)启动与停止快。一般来说,Apache httpd的启动与停止时间都比Tomcat短。
3.2单独运行Apache httpd的缺点
1)架设比较困难。比起单独运行Tomcat,安装Apache Web服务器并让它与Tomcat协同运行要复杂很多。
2)会拖慢动态网页内容的服务。
3)安全漏洞。Apache httpd比较容易受到缓冲区溢位的攻击。
4)升级比较复杂。
4、Tomcat与Apache的整合
有几种将Tomcat整合到Apache httpd Web服务器的方法:
1)架使用不同的端口号分担负载。
该方法是最容易实现的,只需要在现成的网页目录中假如URL以连接到在同一台Web服务器机器上的Tomcat Web服务器端口(如8080)。实际上还是执行两个完整的Web服务器程序,彼此之间并没有真正的整合。
2)从Apache将请求发送至Tomcat的代理服务器。
该方法会在主服务器中使用HTTP的代理机制。代理机制常会用来将来自网关上运行的Web服务器的Web信息流重新路由至外部因特网上的网站。不过,也可以用来将网站区域或目录的信息流重导至Tomcat Web服务器。
3)使用mod_jk2连接器。
该方法使用运行于现有的Apache httpd Web服务器之内的连接器模块(如mod_jk),并经由特定的协议快速地将请求转送至Tomcat。这是将Tomcat连接至Apache httpd的标准方式。
4) 单一进程中执行两个程序。
该方法通过让JVM在Apache httpd的进程空间中运行的方式,可以提供“完全整合”的功能。这是最有效的办法,但也是最依赖于服务器的实现。
【参考文献】
[1] Jason Brittain,Ian F. Darwin,Tomcat: The Definitive Guide,2003
[2] Jason Brittain,Ian F. Darwin著,O’Reilly Taiwan译,朱恩从改编,Tomcat权威指南,2004