当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > LinuxApacheWeb服务器

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 LinuxApacheWeb服务器


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


一、什么是WWW服务
现在在Internet上最热门的服务之一就是环球信息网WWW(WorldWideWeb)服务,Web已经成为很多人在网上查找、浏览信息的主要手段。WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能。它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。

商业界很快看到了其价值,许多公司建立了主页,利用Web在网上发布消息,并反它作为各种服务的界面,如客户服务、特定产品和服务的详细说明、宣传广千以及是渐增长的产品销售和服务。商业用途促进了环球信息网络的迅速发展。

如果你想通过主页向世界介绍自己或自己的公司,就必须将主页放在一个WEB服务器上,当然你可以使用一些免费的主页空间来发布。但是如果你有条件,你可以注册一个域名,申请一个IP地址,然后让你的ISP将这个IP地址解析到你的LINUX主机上。然后,在LINUX主机上架设一个WEB服务器。你就可以将主页存放在这个自己的WEB服务器上,通过它把自己的主页向外发布。

WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合。WWW服务器通过HTML超文本标记语言把信息组织成为图文并茂的超文本;WWW浏览器则为用户提供基于HTTP超文本传输协议的用户界面。用户使用WWW浏览器通过Internet访问远端WWW服务器上的HTML超文本,如下图所示:

http协议

WWW浏览器<----->WWW服务器


在WWW的客户机/服务器工作环境中,WWW浏览器起着控制作用,WWW浏览器的任务是使用一个URL(Internet地址)来获取一个WWW服务器上的WEB文档,解释这个HTML,并将文档内容以用户环境所许可的效果最大限度地显示出来。整个流程如下:


WWW浏览器根据用户输入的URL连到相应的远端WWW服务器上;


取得指定的WEB文档;


断开与远端WWW服务器的连接。

也就是说,平时我们在浏览某个网站的时候是每取一个网页建立一次连接,

读完后马上断开;当需要另一个网页时重新周而复始。

二、WWW服务器软件的比较和选择

目前,在世界各地有许多公司和学术团体,根据不同的计算机系统,开发出不同的WWW服务器,如Apache、CERNhttpd、MicrosoftInternetInformationSystem、NCSAhttpd、Plexushttpd、WebSite等。在UNIX/LINUX系统中常用的有:CERN、NCSA、Apache三种


CERNhttpd

这是最早期的WWW服务器软件,用C语言编写,现在功能有限,用户在

缩减中。有兴趣的话可以在:ftp://ftp.w3.org/pub/WWW/bin中找到它。


NCSAhttpd

这是在WWW服务器发展初期,美国国家超级计算机应用中心(NCSA)

在1995年创建的当时一流的WWW服务器。它也是用C语言编写的,程序小、速度快。但是现在NCSAWWW服务器的主要开发人员已经离开了NCSA,这个服务器项目已经停顿了。相信大家不会选择一个没有发展的WWW服务器软件吧!

当然,由于它的特殊历史地位,相信使用它的人现在还不少。如果你需要可以在ftp://ftp.ncsa.uiuc.edu获取它。


Apache

根据著名的WWW服务器调查公司所作的调查,世界上百分之五十以上的

WWW服务器都在使用Apache,是世界排名第一的WEB服务器。

Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了ApacheGroup,后来这个团体在NCSA的基础上创建了Apache。

Apache的主要特征是:

.可以运行上所有计算机平台;

.支持最新的HTTP1.1协议;

.简单而强有力的基于文件的配置;

.支持通用网关接口CGI;

.支持虚拟主机;

.支持HTTP认证;

.集成Perl脚本编程语言;

.集成的代理服务器;

.具有可定制的服务器日志;

.支持服务器端包含命令(SSI)

.支持安全Socket层(SSL)

.用户会话过程的跟踪能力;

.支持FastCGI;

.支持JavaServlets。

我们还有什么理由放弃这个功能强大而且前途光明的WWW服务器软件呢?

三、安装Apache

下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。

3.1系统需求

运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MBRAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。

3.2获取软件

你可以在http://www.apache.org中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。

需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。

3.3安装软件

你可以通过以下三种方法安装Apache服务器。

1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。

2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。


下载软件包apache_1.2.4.e.tar.gz


tarxvzfapache_1.2.4.e.tar.gz

这就完成了安装工作,简单吧!

如果你使用的是RedHatLinux的话,你也可以下载apache_1.2.4.rpm软件安

装包,然后使用rpm–ivhapache_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灵活性的表现。模块配置行如下所示:

AddModulemodules/standard/mod_env.o

如果你需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。

下表列出了Apache的模块功能:

模块名功能缺省mod_access提供基于主机的访问控制命令ymod_actions能够运行基于MIME类型的CGI脚本或HTTP请求方法ymod_alias能执行URL重定向服务ymod_asis使文档能在没有HTTP头标的情况下被发送到客户端ymod_auth支持使用存储在文本文件中的用户名、口令实现认证ymod_auth_dbm支持使用DBM文件存储基本HTTP认证nmod_auth_mysql支持使用MySQL数据库实现基本HTTP认证nmod_auth_anon允许以匿名方式访问需要认证的区域ymod_auth_external支持使用第三方认证nmod_autoindex当缺少索引文件时,自动生成动态目录列表ymod_cern_meta提供对元信息的支持nmod_cgi支持CGIymod_dir能够重定向任何对不包括尾部斜杠字符命令的请求ymod_env使你能够将环境变量传递给CGI或SSI脚本nmod_expires让你确定Apache在服务器响应请求时如何处理Expiresymod_headers能够操作HTTP应答头标ymod_imap提供图形映射支持nmod_include使支持SSInmod_info对服务器配置提供了全面的描述ymod_log_agent允许在单独的日志文件中存储用户代理的信息nmod_log_config支持记录日志ymod_log_referer提供了将请求中的Referer头标写入日志的功能nmod_mime用来向客户端提供有关文档的元信息ymod_negotiation提供了对内容协商的支持ymod_setenvif使你能够创建定制环境变量ymod_speling使你能够