apacheweb服务器的配置文件一般位于
Usr/local/apache/conf目录,Apache的主配置文件:/etc/httpd/conf/httpdconf
默认站点主目录:/var/www/html/
Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf/httpdconf中,这个文件中的内容非常多,用wc命令统计一共有1009行,其中大部分是以#开头的注释行。
Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性(注1)被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,Perl/Python等解释器可被编译到服务器中。
历史
Apache
起初由 Illinois 大学 Urbana-Champaign 的国家高级计算程序中心开发。此后,Apache
被开放源代码团体的成员不断的发展和加强。Apache
服务器拥有牢靠可信的美誉,已用在超过半数的因特网站中-特别是几乎所有最热门和访问量最大的网站。
开始,Apache只是Netscape网页服务器(现在是Sun
ONE)的之外的开放源代码选择。渐渐的,它开始在功能和速度。超越其他的基于Unix的HTTP服务器。1996年4月以来,Apache一直是
Internet上最流行的HTTP服务器: 1999年5月它在 57% 的网页服务器上运行;到了2005年7月这个比例上升到了69%。
作
者宣称因为这个名字好记才在最初选择它,但是流传最广的解释是(也是最显而易见的):这个名字来自这么一个事实:当Apache在1995年初开发的时
候,它是由当时最流行的HTTP服务器NCSA HTTPd 13 的代码修改而成的,因此是“一个修补的(a
patchy)”服务器。然而在服务器官方网站的FAQ中是这么解释的:“‘Apache’这个名字是为了纪念名为Apache(印地语)的美洲印第安人
土著的一支,众所周知他们拥有高超的作战策略和无穷的耐性”。无论怎么样,Apache 2x 分支不包含任何 NCSA 的代码。
特性
Apache
支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python, Tcl,
和 PHP。流行的认证模块包括 mod_access, mod_auth 和 mod_digest。其他的例子有 SSL 和 TLS 支持
(mod_ssl), proxy 模块,很有用的URL重写(由 mod_rewrite 实现),定制日志文件
(mod_log_config),以及过滤支持(mod_include 和
mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。
2x版本
Apache 的2x版本核心在Apache 1x版本之上作出了重要的加强。这包括:线程,更好的支持非UNIX平台(例如Windows),新的 Apache API,以及IPv6支持。
评价
《PC Magazine》2004年8月评出了近30年以来的10款最佳软件产品。
他们其中或者是有过最辉煌的历史,或者是最具创意。其对apache的评价是:第三名:Apache(阿帕奇,1995年推出)Apache目前已经演变
成了“LAMP”,即Linux、Apache、MySQL和PHP的联合体。这是一个开放源代码软件项目,已经对微软的“NET”战略构成严重威胁。
尤其是Apache网络服务器,让用户充分体验到开发源码软件的稳定性、可靠性和可定制性。
Applecom评价apache时
说:Apache是服务器软件始终不断进化的大块部件,它免费但又是无价之宝。Apache
是在资源开放运动中出现的绝对珍品,因为不属于个人专利而是对公共免费。一旦拥有这些源码,程序员能够自由完成所想——能在其它程序员接替工作时被赋予同
样的权限来改变和修改自己的源代码。
注释
尽管不断有新的漏洞被发现,但由于其OpenSource的特点,漏洞总能被很快修补。因此总的来说,其安全性还是相当高的。
() [#page_#][#page_#]AddHandler cgi-script cgi
AddHandler server-parsed shtml
Sethandler cgi-script
AddHandler定义了何种扩展名用那一个字符串进行描述
SetHandler把一个目录下的文件都指定用这一个字符串描述
我在这里提到的命令都是与其结构密切相关的 Handler和Type的关系在下面会描述的 许多的东东从外面是看不清楚的, 下面, 我们从里面看
三 程序的基本结构
-----------------
Apache有非常好的跨平台性 为了实现这一目标和简化模块编写者的负担,Apache完成了许多基本的功能如IO, 内存分配等, 这些接口都是与具体平台无关的 还有一些很有用的例程如: hash table, array 等 在整个体系中, Apache有一个基本点, 它尽可能的使用简单的结构和算法, 这不仅易于理解和维护, 还提高了它的稳定性
在
UNIX系统上, Apache采用了多进程模型, 在Window上采用了多线程模型多进程模型中, 其子进程处理客户请求,
父进程用于管理子进程 当系统过载时父进程会再启动几个子进程, 当系统空闲时, 父进程会杀掉几个子进程
子进程的数目在"MinSpareServers"和"MaxSpareServers"之间 而且, 每个子进程处理的请求个数也是有限制的,
这可以解决诸如内存泄漏等问题 所有的进程状态都被记录在share memory中 由于每个进程的状态记录在其中的一小块内存上,
它通常也只读写这一块内存, 因此, Apache没有使用什么同步机制
在Richard Steve的书上说到的几种多进程服务器模型, Apache都使用了,在不同的系统上根据其特点选择使用不同的方法:
1 accept :
在accept处阻塞, 只有在accept是在内核级实现的才行
2 select :
在select处阻塞
3 mutex/lock_file :
使用mutex或lock_file来进行对accpet进行互斥
三
种方法都要求进行阻塞, 区别在于阻塞与不同的地方 前两种方法都会由所谓的巨群问题: 多个阻塞在同一个资源上的进程被同时唤醒引发再次竞争
不过, 按Richard Steve 的评测, 第一种方法最快, 第二种其次, 第三种最慢 其实, 在linux上第三种方法也会有巨群问题
Apache虽然并不强调性能, 这并不意味着他们不重视性能 而是Apache认为在Server端realiable才是第一位的 但Apache的性能还是不错的
APACHE就是一个网络服务器,这个服务器侦听一个TCP端口,一般是80,对端口收到的命令进行解释,然后提交一些结果。APACHE解释的最主要的命令就是GET和POST,一般对应客户端在浏览器输入地址、浏览器里面点击链接和提交一个表单。APACHE对GET和POST命令进行解释的时候,如果GET和POST的对象是一个HTML、CSS、JS、RAR、TXT等一般文件,就直接把文件的内容发回客户端;如果对象是一个PHP文件,APACHE就启用PHPEXE程序(UNIX上名称不一样,而且安装为模块的细节又有不同,这里只是举例),把文件、调用的参数传递给PHPEXE,然后把PHPEXE执行的结果反馈给客户端。
PHP可以调用各种库执行各类功能,最典型的就是查询数据库。PHPEXE解释执行PHP文本文件里面的语句,执行前一般不翻译,就象批处理一样。
APACHE可以配置多个类似PHP这样的过滤器,凡是XXX类的文件,都提交给XXXEXE执行,把执行完毕的内容发送给浏览器,其它文件直接发送。APACHE就这么简单的、机械的执行。
1、如何设 置请求等待时间
在httpdconf里面设置:
TimeOut n
其中n为整数,单位是秒。
设置这个TimeOut适用于三种情况:
2、如何接收一个get请求的总时间
接收一个post和put请求的TCP包之间的时间
TCP包传输中的响应(ack)时间间隔
3、如何使得apache监听在特定的端口
修改httpdconf里面关于Listen的选项,例如:
Listen 8000
是使apache监听在8000端口
而如果要同时指定监听端口和监听地址,可以使用:
Listen 19217021:80
Listen 19217025:8000
这样就使得apache同时监听在19217021的80端口和19217025的8000端口。
当然也可以在httpdconf里面设置:
Port 80
这样来实现类似的效果。
4、如何设置apache的最大空闲进程数
修改httpdconf,在里面设置:
MaxSpareServers n
其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
同时也可以设置:
MinSpareServers n
来限制最少空闲进程数目来加快反应速度。
5、apache如何设置启动时的子服务进程个数
在httpdconf里面设置:
StartServers 5
这样启动apache后就有5个空闲子进程等待接受请求。
也可以参考MinSpareServers和MaxSpareServers设置。
阿帕奇服务器实际上是Apache
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazoncom、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apache的主要特征是:
可以运行上所有计算机平台;
支持最新的HTTP 11协议;
简单而强有力的基于文件的配置;
支持通用网关接口CGI;
支持虚拟主机;
支持HTTP认证;
集成Perl脚本编程语言;
集成的代理服务器;
具有可定制的服务器日志;
支持服务器端包含命令(SSI)
支持安全Socket层(SSL)
用户会话过程的跟踪能力;
支持FastCGI;
支持Java Servlets。
http://wwwapacheorg/是它的官方网站,e文的
0条评论