仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1245|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之Linux体系下Apache办事器设置与优化

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:00:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^   <P style="TEXT-INDENT: 2em">Apache办事器的设置文件位于/usr/local/apache/conf/目次下,传统上利用三个设置装备摆设文件httpd.conf,access.conf和srm.conf,来设置装备摆设Apache办事器的行动。 httpd.conf供应了最根基的办事器设置装备摆设,是对守护法式httpd若何运转的手艺描写;srm.conf是办事器的资本映照文件,告知办事器各类文件的MIME类型,和若何撑持这些文件;access.conf用于设置装备摆设办事器的会见权限,掌握分歧用户和盘算机的会见限制;这三个设置装备摆设文件掌握着办事器的各个方面的特征,因而为了正常运转办事器便需求设置好这三个文件。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">除这三个设置文件以外,Apache还利用mime.types文件用于标识分歧文件对应的MIME类型, magic文件设置分歧MIME类型文件的一些特别标识,使得Apache 办事器从文档后缀不克不及判别出文件的MIME 类型时,能经由过程文件内容中的这些特别标志来判别文档的MIME类型。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">[iaspec@www conf]$ pwd <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">/usr/local/apache/conf <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">[iaspec@www conf]$ ls <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">access.conf httpd.conf.OLD magic.default srm.conf <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">access.conf.default httpd.conf.SAVE mime.types srm.conf.default <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">httpd.conf magic mime.types.default <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">新版本的Apache将本来httpd.conf、srm.conf与access.conf中的一切设置装备摆设参数均放在了一个设置装备摆设文件httpd.conf中,只是为了与之前的版本兼容的缘由(利用这三个设置文件的体例来历于NCSA-httpd),才利用三个设置装备摆设文件。而供应的access.conf和srm.conf文件中没有详细的设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">因为在新版本的Apache中,一切的设置都被放在了httpd.conf中,因而只需求调剂这个文件中的设置。本文基于redhat 7.2 下的httpd.conf为例,注释Apache办事器的各个设置选项,固然,其设置装备摆设办法可扩大到几近一切unix体系。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">固然Apache供应设置的参数良多,根基上这些 参数都很明白,也能够不加修改运转Apache办事器。但假如需求调剂Apache办事器的功能,和增添对某种特征的撑持,就需求懂得这些设置参数的寄义。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">需求指出的是,除操作体系的功能调剂以外,Apache 办事器自己的缺省设置装备摆设毫不是最优化和最高效的,而是要顺应几近一切品种操作体系、一切品种硬件下的设置,多平台的软件不成能为特定平台和特定硬件供应最优化的缺省设置装备摆设。因而要利用Apache的时分,功能调剂是必不成少的。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">本文目次疾速会见: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">httpd.conf根基设置装备摆设与功能优化的关系 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">别的一些减速办法 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">附录1、采取 mod_gzip 减速Apache <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">httpd.conf根基设置装备摆设与功能优化的关系 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">httpd.conf中起首界说了一些httpd守护历程运转时需求的参数,来决意其运转体例和运转情况。 上面就httpd.conf中的设置装备摆设参数的界说及其各类设置装备摆设、优化办法停止逐项申明: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">(优化没有捷径,必需起首清晰各设置装备摆设的寄义) <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ServerType standalone <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ServerType界说办事器的启动体例,缺省值为自力体例standalone,httpd 办事器将由其自己启动,并驻留在主机中监督毗连恳求。在Linux下将在启动文件 /etc/rc.d/rc.local/init.d/apache中主动启动Web办事器,这类体例是保举设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">启动Apache办事器的另外一种体例是inet体例,利用超等办事器inetd监督毗连恳求并启动办事器。当需求利用inetd启动体例时,便需求更改成这个设置,并屏障/etc/rc.d/rc.local/init.d/apache文件,和更改/etc/inetd.conf偏重起inetd,那末Apache就可以从inetd中启动了。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">两种体例的区分是自力体例是由办事器本身办理本人的启动历程,如许在启动时能当即启动办事器的多个正本,每一个正本都驻留在内存中,一有毗连恳求不需求生成子历程就能够当即停止处置,关于客户阅读器的恳求反响更快,功能较高。而 inetd体例要由inetd发明有毗连恳求后才去启动http办事器,因为inetd 要监听太多的端口,因而反响较慢、效力较低,但勤俭了没有毗连恳求时Web办事器占用的资本。因而inetd体例只用于偶然被会见而且不请求会见速度的办事器上。现实上inetd体例不合适http的突发和多毗连的特征,由于一个页面能够包括多个图像,而每一个图像城市引发一个毗连恳求,即便固然会见人数形成教少,但刹时的毗连恳求其实不少,这就遭到inetd功能的限制,乃至会影响由inetd启动的其他办事器法式。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ServerRoot "/usr/local" <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ServerRoot用于指定守护历程httpd的运转目次,httpd在启动以后将主动将历程确当前目次改动为这个目次,因而假如设置文件中指定的文件或目次是绝对途径,那末真实途径就位于这个ServerRoot界说的途径之下。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">因为httpd会常常停止并发的文件操作,就需求利用加锁的体例来包管文件操作不抵触,因为NFS文件体系在文件加锁方面才能无限,因而这个目次应当是当地磁盘文件体系,而不该该利用NFS文件体系。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># LockFile /var/lock/httpd.lock <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LockFile参数指定了httpd守护历程的加锁文件,普通不需求设置这个参数, Apache办事器将主动在ServerRoot上面的途径中停止操作。但假如ServerRoot为NFS文件体系,便需求利用这个参数指定当地文件体系中的途径,以进步读写速度。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">PidFile /var/run/httpd.pid <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">PidFile指定的文件将纪录httpd守护历程的历程号,因为httpd能主动复制其本身,因而体系中有多个httpd历程,但只要一个历程为最后启动的历程,它为其他历程的父历程,对这个历程发送旌旗灯号将影响一切的httpd历程。PidFILE界说的文件中就纪录httpd父历程的历程号。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ScoreBoardFile /var/run/httpd.scoreboard <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">httpd利用ScoreBoardFile来保护历程的外部数据,因而凡是不需求改动这个参数,除非办理员想在一台盘算机上运转几个Apache办事器,这时候每一个Apache办事器都需求自力的设置文件htt pd.conf,并利用分歧的ScoreBoardFile。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ResourceConfig conf/srm.conf <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AccessConfig conf/access.conf <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这两个参数ResourceConfig和AccessConfig,就用于和利用 srm.conf 和 access.conf 设置文件的老版本Apache兼容。假如没有兼容的需求,可以将对应的设置文件指定为/dev/null,这将暗示不存在其他设置文件,而仅利用httpd.conf 一个文件来保留一切的设置选项。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Timeout 300 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">  <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Timeout界说客户法式和办事器毗连的超工夫隔,超越这个工夫距离(秒)后办事器将断开与客户机的毗连。假如办事器的负载较重,可恰当把此数字调小。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">KeepAlive On <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">在HTTP 1.0中,一次毗连只能作传输一次HTTP恳求,而KeepAlive参数用于撑持HTTP的一次毗连、屡次传输功效,如许就能够在一次毗连中传递多个HTTP恳求。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MaxKeepAliveRequests 100 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MaxKeepAliveRequests为一次毗连可以停止的HTTP恳求的最大恳求次数。将其值设为0将撑持在一次毗连内停止无穷次的传输恳求。现实上没有客户法式在一次毗连中恳求太多的页面,凡是达不到这个下限就完成毗连了。 可以恰当将此数字调小,以获得最大速度。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">KeepAliveTimeout 15 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">KeepAliveTimeout测试一次毗连中的屡次恳求传输之间的工夫,假如办事器已完成了一次恳求,但一向没有吸收到客户法式的下一次恳求,在距离超越了这个参数设置的值以后,办事器就断开毗连。可以恰当调小这个数值,以尽快释放余暇的毗连。但也不成太小,否则多半客户都要从头毗连,将消耗 CPU工夫。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MinSpareServers 5 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MaxSpareServers 10 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">在利用子历程处置HTTP恳求的Web办事器上,因为要起首生成子历程才干处置客户的恳求,因而反响工夫就有一点延迟。然而,Apache办事器利用了一个特别手艺来脱节这个成绩,这就是事后生成多个空余的子历程驻留在体系中,一旦有恳求呈现,就当即利用这些空余的子历程停止处置,如许就不存在生成子历程酿成的延迟了。在运转中跟着客户恳求的增多,启动的子历程会随之增多,但这些办事器正本在处置完一次HTTP恳求以后其实不当即加入,而是逗留在盘算机中守候下次恳求。然而空余的子历程正本不克不及光增添不削减,太多的空余子历程没有处置义务,也占用办事器的处置才能,因而也要限制空余正本的数目,使其坚持一个适合的数目,使得既能实时回应客户恳求,又能削减不用要的历程数目。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">因而就能够利用参数MinSpareServers来设置起码的空余子历程数目, 和利用参数MaxSpareServers 来限制最多的余暇子历程数目,过剩的办事器历程正本就会加入。依据办事器的实践情形来停止设置,假如办事器功能较高,而且也被频仍会见,就应当增大这两个参数的设置。关于高负载的专业网站,这两个值应当大致不异,而且同等于体系撑持的最多办事器正本数目,也削减不用要的正本加入。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">好比,当体系高负载时,可以如许检测: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">[iaspec@www iaspec]$ ps -ef|grep apache|wc <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">55 .. .. <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">[iaspec@www iaspec]$ <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这标明,高负载时有55个运转子历程,假如此办事器为WEB公用办事器,就应当思索将这两个数值分离设为50、60,或40、70,详细以速度测试了局为准。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">StartServers 5 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">StartServers参数就是用来设置httpd启动时启动的子历程正本数目,这个参数与下面界说的MinSpareServers和 MaxSpareServers参数相干,都是用于启动余暇子历程以进步办事器的反响速度的。这个参数应当设置为前两个值之间的一个数值,小于 MinSpareServers和大于MaxSpareServers都没成心义。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MaxClients 150 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">在另外一方面,办事器的才能究竟是无限的,不成能同时处置无穷多的毗连恳求,因而参数Maxclients就用于划定办事器撑持的最多并发会见的客户数,假如这个值设置得过大,体系在忙碌时不能不在过量的历程之间停止切换来为太多的客户停止办事,如许对每一个客户的反响就会减慢,并下降了全体的效力。假如这个值设置的较小,那末体系忙碌时就会回绝一些客户的毗连恳求。当办事器功能较高时,就能够恰当增添这个值的设置。关于专业网站,应当利用进步办事器效力的战略,因而这个参数不克不及超越硬件自己的限制,假如频仍呈现回绝会见景象,就申明需求晋级办事器硬件了。当不太在乎对客户阅读器的反响速度,或以为反响速度较慢也比回绝毗连好,就也能够稍微超越硬件前提来设置这个参数。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">但详细这个数值以几何为好呢?当对功能请求较高时,可以用上面的办法肯定若何设置装备摆设此参数。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">起首,估量你的最大能够并发的毗连数,或在高负载时用ps -ef|grep apache|wc号令测得最猛进程数,凡是MaxClients应当是这个数值的两倍摆布。假如以后网站在高负载时的会见速度可以承受,但有回绝办事景象,则应把此参数调大,假如无回绝办事景象,但会见速度迟缓,则应减低此数值。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这个参数同时限制了MinSpareServers和MaxSpareServers的设置,它们不该该大于这个参数的设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">关于重负载的机械来讲,仅仅这么做仍是不敷的。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Apache答应为恳求开的最猛进程数是256,MaxClients的限制是256.假如用户多了,用户就只能看到Waiting for reply....然后比及下一个可用历程的呈现。这个最大数,是Apache的法式决意的--它的NT版可以有1024,但Unix版只要256,你可以在include/httpd.h中 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">看到: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ifndef HARD_SERVER_LIMIT <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ifdef WIN32 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#define HARD_SERVER_LIMIT 1024 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#else <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#define HARD_SERVER_LIMIT 256 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#endif <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#endif <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">你可以把它调到1024,然后再编译你的体系。记得在httpd.conf里也要更改响应设置装备摆设。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MaxRequestsPerChild 30 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">利用子历程的体例供应办事的Web办事,经常使用的体例是一个子历程为一次毗连办事,如许酿成的成绩就是每次毗连都需求生成、加入子历程的体系操作,使得这些额定的处置进程占有了盘算机的大批处置才能。因而最好的体例是一个子历程可觉得屡次毗连恳求办事,如许就不需求这些生成、加入历程的体系损耗,Apache就采取了如许的体例,一次毗连停止后,子历程其实不加入,而是逗留在体系中守候下一次办事恳求,如许就极大的进步了功能。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">但因为在处置过程当中子历程要不休的请求和释放内存,次数多了就会形成一些内存渣滓,就会影响体系的不乱性,而且影响体系资本的无效使用。因而在一个正本处置过必定次数的恳求以后,就能够让这个子历程正本加入,再从原始的 httpd历程中从头复制一个洁净的正本,如许就可以进步体系的不乱性。如许,每一个子历程处置办事恳求次数由MaxRequestPerChild界说。缺省的设置值为30,这个值关于具有高不乱性特色的Linux体系来说是过于守旧的设置,可以设置为1000乃至更高,设置为0撑持每一个正本停止无穷次的办事处置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#Listen 3000 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#Listen 12.34.56.78:80 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#BindAddress * <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Listen参数可以指定办事器除监督尺度的80端口以外,还监督其他端口的HTTP恳求。因为体系可以同时具有多个IP地址,因而也能够指定办事器只听取对某个BindAddress< /B>的IP地址的HTTP恳求。假如没有设置装备摆设这一项,则办事器会回应对一切IP的恳求。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">即便利用了BindAddress参数,使得办事器只回应对一个IP地址的恳求,然而经由过程利用扩大的Listen参数,依然可让HTTP守护历程回应对其他IP地址的恳求。此时Listen参数的用法与下面的第二个例子不异。这类对照庞杂的用法次要用于设置虚拟主机。尔后可以用VirtualHost 参数界说对分歧IP的虚拟主机,但是这类用法是较早的HTTP 1.0尺度中设置虚拟主机的办法,每针对一个虚拟主机就需求一个IP地址,实践上用途其实不大。在HTTP 1.1中,增添了对单IP地址多域名的虚拟主机的撑持,使得虚拟主机的设置具有更大的意义。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">模块变量 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule mime_magic_module libexec/apache/mod_mime_magic.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule info_module libexec/apache/mod_info.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule speling_module libexec/apache/mod_speling.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule proxy_module libexec/apache/libproxy.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule rewrite_module libexec/apache/mod_rewrite.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule anon_auth_module libexec/apache/mod_auth_anon.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule db_auth_module libexec/apache/mod_auth_db.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule digest_module libexec/apache/mod_digest.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule cern_meta_module libexec/apache/mod_cern_meta.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule expires_module libexec/apache/mod_expires.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule headers_module libexec/apache/mod_headers.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule usertrack_module libexec/apache/mod_usertrack.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LoadModule unique_id_module libexec/apache/mod_unique_id.so <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ClearModuleList <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_env.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_log_config.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_mime_magic.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_mime.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_negotiation.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_status.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_info.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_include.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_autoindex.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_dir.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_cgi.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_asis.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_imap.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_actions.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_speling.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_userdir.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_proxy.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_alias.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_rewrite.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_access.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_auth.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_auth_anon.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_auth_db.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_digest.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_cern_meta.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_expires.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_headers.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_usertrack.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_unique_id.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_so.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddModule mod_setenvif.c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Apache办事器的一个主要特征就是其模块化的布局,这不仅体现为其能在编译时能经由过程新的模块到场新的功效,还体现为其模块可以静态加载入http办事法式中,而不用载入不需求的模块。利用Apache的静态加载模块只需求设置好Load Module和AddModule参数就能够了,这类特征就是Apache的 DSO(Dynamic Shared Object)特征,但是要想充实利用DSO特征依然不是一个复杂的工作,不恰当的修改这里的设置便可能形成办事器不克不及正常启动。因而假如不是要增添或削减办事器供应的功效,就不要修改这里的设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">下面这些列表就显示了Linux下的缺省Apache办事器撑持的模块,现实上良多模块是没有需要的,不用要模块不会被载入内存。模块可以静态毗连到apache 办事器外部,也能够如许静态加载,将Apache的特征都编译成静态可加载模块是该Port的做法,而不是Apache的缺省做法,如许就以就义很小的功能的同时,带来极大的天真性。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">因此静态可加载的才能仍是对功能有稍微的影响,因而可以从头编译Apache,将本人所需求的功效编译进Apache 办事器外部,可让体系显得更加洁净,效力也有稍微的进步。凡是仅仅为了这一个目标就从头编译Apache是没有需要的,假如需求增添其他特征而从头编译Apache,无妨在增添其他模块的同时将一切的模块都静态毗连入Apache 办事器。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这些模块都被放置到/usr/local/apache/modules/目次下, 每一个模块对应Apache办事器的一个特征。具体注释每一个模块的功效需求相当多的篇幅,个中对照主要的特征将在前面响应的中央中停止注释。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ExtendedStatus On <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Apache办事器可以经由过程特别的HTTP恳求,来呈报本身的运转形态,在利用测试东西测试时,翻开这个ExtendedStatus 参数可让办事器呈报更周全的运转形态信息. <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">主办事器设置 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Apache办事器需求各类设置,以界说本人利用各类参数以供应Web办事。关于利用虚拟主机的情形,除在虚拟主机的界说项中掩盖的设置以外(有的设置必需从头界说),这里的设置也是虚拟主机的缺省设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Port 80 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Port界说了Standalone形式下httpd守护历程利用的端口,尺度端口是80。这个选项只关于以自力体例启动的办事器才无效,关于以inetd体例启动的办事器则在inetd.conf中界说利用哪一个端口。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">在Unix下利用80端口需求root权限,一些办理员为了平安的缘由,以为 httpd 办事器不成能没有平安破绽,因此更情愿利用通俗用户的权限来启动办事器,如许就不克不及利用80端口及其他小于1024的端口,而必需利用大于 1024的端口来启动httpd,普通情形下8000或8080也是经常使用的端口。而Apache httpd办事器自己可以在以root权限翻开80端口后再改动为通俗用户身份停止运转,如许就削减了风险性,因此就不需求思索这个平安成绩。然而假如通俗用户也想装置设置装备摆设本人的WWW办事器,那末就不能不利用大于1024的端口。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">User nobody <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Group nogroup <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">User和Group设置装备摆设是Apache的平安包管,Apache在翻开端口以后,就将其自己设置为这两个选项设置的用户和组权限停止运转,如许就下降了办事器的风险性。这个选项也只用于 Standalone形式,inetd形式在inetd.conf中指定运转Apache的用户。因为办事器必需履行改动身份的setuid()操作,因而初始历程应当具有root权限,假如是利用非root用户来启动Aapche,这个设置装备摆设就不会发扬感化。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">缺省设置为nobody和nogroup,这个用户和组在体系中不具有文件,包管了办事器自己和由它启动的CGI 历程没有权限更改文件体系。在某些情形下,例如为了运转CGI与Unix交互,也需求让办事器来会见办事器上的文件,假如依然利用nobody和 nogroup,那末体系中将会呈现属于nobody的文件,这关于体系平安是晦气的,由于其他法式也会以nobody和nogroup的权限履行某些操作,就有能够会见这些nobody具有的文件,形成平安成绩。普通情形下要为Web办事设定一个特定的用户和组,同时在这里更改用户和组设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ServerAdmin you@your.address <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">设置装备摆设文件中应当改动的或许只要ServerAdmin,这一项用于设置装备摆设WWW办事器的办理员的email地址,这将在HTTP办事呈现毛病的前提下前往给阅读器,以便让Web利用者和办理员接洽,呈报毛病。习气上利用办事器上的webmaster作为WWW办事器的办理员,经由过程邮件办事器的别号机制,将发送到webmaster 的电子邮件发送给真实的Web办理员。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ServerName new.host.name <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">缺省情形下,其实不需求指定这个ServerName参数,办事器将主动经由过程名字解析进程来取得本人的名字,但假如办事器的名字解析有成绩(凡是为反向解析不准确),或没有正式的DNS名字,也能够在这里指定IP地址。当ServerName设置不准确的时分,办事器不克不及正常启动。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">凡是一个 Web办事器可以具有多个名字,客户阅读器可使用一切这些名字或IP地址来会见这台办事器,但在没有界说虚拟主机的情形下,办事器老是以本人的正式名字回应阅读器。ServerName就界说了Web办事器本人供认的正式名字,例如一台办事器名字(在DNS中界说了A类型)为 exmaple.org.cn,同时为了便利记忆还界说了一一般名(CNAME纪录)为www.exmaple.org.cn,那末Apache主动解析失掉的名字就为example.org.cn,如许不论客户阅读器利用哪一个名字发送恳求,办事器老是告知客户法式本人为 example.org.cn。固然这普通其实不会形成甚么成绩,然而思索到某一天办事器能够迁徙到其他盘算机上,而只想经由过程更改DNS中的www别号设置装备摆设就完成迁徙义务,所以不想让客户在其书签中利用 Linux 纪录下这个办事器的地址,就必需利用ServerName来从头指定办事器的正式名字。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">DocumentRoot "/www/" <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">DocumentRoot界说这个办事器对外宣布的超文本文档寄存的途径,客户法式恳求的UR L就被映照为这个目次下的网页文件。这个目次下的子目次,和利用符号毗连指出的文件和目次都能被阅读器会见,只是要在URL上利用一样的绝对目次名。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">注重,符号毗连固然逻辑上位于根文档目次之下,但实践上可以位于盘算机 上的恣意目次中,因而可使客户法式能会见那些根文档目次以外的目次,这在增添了天真性的同时但削减了平安性。Apache在目次的会见掌握中供应了FollowSymLinks选项来翻开或封闭撑持符号毗连的特征。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Options FollowSymLinks <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AllowOverride None <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Apache办事器可以针对目次停止文档的会见掌握,但是会见掌握可以经由过程两种体例来完成,一个是在设置文件 httpd.conf(或access.conf)中针对每一个目次停止设置,另外一个办法是在每一个目次下设置会见掌握文件,凡是会见掌握文件名字为. htaccess。固然利用这两个体例都能用于掌握阅读器的会见,但是利用设置装备摆设文件的办法请求每次修改后从头启动httpd守护历程,对照不天真,因而次要用于设置装备摆设办事器体系的全体平安掌握战略,而利用每一个目次下的.htaccess文件设置详细目次的会见掌握更加天真便利。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Directory语句就是用来界说目次的会见限制的,这里可以看出它的尺度语法,为一个目次界说会见限制。上例的这个设置是针对体系的根目次停止的,设置了答应符号毗连的选项FollowSymLinks ,和利用AllowOverride None暗示不答应这个目次下的会见掌握文件来改动这里停止的设置装备摆设,这也意味着不必检查这个目次下的响应会见掌握文件。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">因为Apache对一个目次的会见掌握设置是可以被下一级目次承继的,因而对根目次的设置将影响到它的上级目次。注重因为AllowOverride None的设置,使得Apache办事器不需求检查根目次下的会见掌握文件,也不需求检查以下各级目次下的会见掌握文件,直至httpd.conf(或access.conf )中为某个目次指定了答应Alloworride,即答应检查会见掌握文件。因为Apache对目次会见掌握是采取的承继体例,假如从根目次就答应检查会见掌握文件,那末Apache就必需一级一级的检查会见掌握文件,对体系功能会形成影响。而缺省封闭了根目次的这个特征,就使得Apache从httpd.conf中详细指定的目次向下搜索,削减了搜索的级数,增添了体系功能。因而关于体系根目次设置AllowOverride None不仅关于体系平安有匡助,也无益于体系功能。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Options Indexes FollowSymLinks <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AllowOverride None <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Order allow,deny <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Allow from all <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这里界说的是体系对外宣布文档的目次的会见设置,设置分歧的 AllowOverride选项,以界说设置装备摆设文件中的目次设置和用户目次下的平安掌握文件的关系,而Options选项用于界说该目次的特征。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">设置装备摆设文件和每一个目次下的会见掌握文件都可以设置会见限制,设置文件是由办理员设置的,而每一个目次下的会见掌握文件是由目次的属主设置的,因而办理员可以划定目次的属主是不是能掩盖体系在设置文件中的设置,这就需求利用 啊AllowOverride参数停止设置,凡是可以设置的值为: AllowOverride的设置 对每一个目次会见掌握文件感化的影响All 缺省值,使会见掌握文件可以掩盖体系设置装备摆设。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">None 办事器疏忽会见掌握文件的设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Options 答应会见掌握文件中可使用Options参数界说目次的选项。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">FileInfo 答应会见掌握文件中可使用AddType等参数设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AuthConfig 答应会见掌握文件利用AuthName,AuthType等针对每一个用户的认证机制,这使目次属主能用口令和用户名来回护目次 Limit 答应对会见目次的客户机的IP地址和名字停止限制。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">每一个目次具有必定属性,可使用Options来掌握这个目次下的一些会见特征设置,以下为经常使用的特征选项: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Options设置 办事器特征设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">All 一切的目次特征都无效,这是缺省形态。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">None 一切的目次特征都有效。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">FollowSymLinks 答应利用符号毗连,这将使阅读器有能够会见文档根目次 (DocumentRoot)以外的文档 SymLinksIfOwnerMatch 只要符号毗连的目标与符号毗连自己为统一用户所具有时,才答应会见,这个设置将增添一些平安性。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ExecCGI 答应这个目次下可以履行CGI法式 Indexes 答应阅读器可以生成这个目次下一切文件的索引,使得在这个目次下没有index.html(或其他索引文件)时,能向阅读器发送这个目次下的文件列表 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">另外,上例中还利用了Order、Allow、Deny等参数,这是Limit语句顶用来依据阅读器的域名和 IP地址来掌握会见的一种体例。个中Order界说处置Allow和Deny的按次,而Allow、Deny则针对名字或IP停止会见掌握设置,上例利用 allowfrom all,暗示答应一切的客户机会见这个目次,而不停止任何限制。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">UserDir public_html <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">当在一台Linux上运转Apache办事器时,这台盘算机上的一切用户都可以有本人的网页途径,形如 http://example.org.cn/~user,利用海浪符号加上用户名就能够映照到用户本人的网页目次上。映照目次为用户团体主目次下的一个子目次,其名字就用UseDir这个参数停止界说,缺省为public_html。假如不想为正式的用户供应网页办事,利用DISABLED作UserDir的参数便可。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># AllowOverride FileInfo AuthConfig Limit <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Order allow,deny <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Allow from all <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Order deny,allow <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Deny from all <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这里可以看到Directory的另外一个用法,便可以经由过程复杂的形式婚配办法,针对散布在分歧目次下的子目次界说会见掌握权限。如许设置就需求Apache办事器对每一个途径停止额定的处置,因而就会下降办事器的功能,所以缺省情形并没有翻开这类会见限制。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这里可以看到别的一个语句Limit,Limit语句就是用来针对详细的恳求办法来设定会见掌握的,个中可使用GET、POST等各类办事器撑持的恳求办法做Limit的参数,来设定对分歧恳求办法的会见限制。普通可以翻开对GET、POST、 HEAD三种恳求办法,而屏障其他的恳求办法,以增添平安性。Limit语句中,可以用Order 、Allow、Deny,Allow和Deny中可使用婚配的办法针对域名和IP停止限制,只是关于域名是从后向前婚配,关于IP地址则夙昔向后婚配。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">DirectoryIndex index.html <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">良多情形下,URL中并没有指定文档的名字,而只是给出了一个目次名。那末Apache办事器就主动前往这个目次下由DirectoryIndex界说的文件,固然可以指定多个文件名字,体系会这个目次下按次搜刮。当一切由DirectoryIndex指定的文件都不存在时,Apache办事器可以依据体系设置,生成这个目次下的一切文件列表,供应用户选择。此时该目次的会见掌握选项中的Indexes选项(Options Indexes )必需翻开,以使得办事器可以生成目次列表,不然Apache将回绝会见。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AccessFileName .htaccess <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AccessFileName界说每一个目次下的会见掌握文件的文件名,缺省为.htaccess,可以经由过程更改这个文件,来改动分歧目次的会见掌握限制。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Order allow,deny <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Deny from all <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">除可以针对目次停止会见掌握以外,还可以依据文件来设置会见掌握,这就是File语句的义务。利用File 语句,不论文件处于哪一个目次,只需名字婚配,就必需承受响应的会见掌握。这个语句关于体系平安对照主要,例如上例将屏障一切的利用者不克不及会见.htaccess文件,如许就防止.htaccess中的关头平安信息不至于被客户获得。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#CacheNegotiatedDocs <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">缺省情形下假如代办署理办事器和Apache办事器协商是不是缓存其网页,Apache赐与否认的回覆,不但愿本人的网页被代办署理办事器缓存。但是如许就不克不及无效的使用代办署理办事器的优势,因而可以设置CacheNegotiatieDocs 选项, 使得代办署理办事器可以对网页停止缓存。但是即便不设置这个选项,有的代办署理办事器(或经由过程调剂设置)也能对网页停止缓存。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">UseCanonicalName On <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">翻开这个UseCanonicalName是Web办事器的尺度做法,由于客户发送的大局部恳求都是对本办事器的援用,如许办事器就可以利用 ServerName和Port选项的设置内容构建完全的URL,并回应客户,使阅读器能失掉标准的URL。假如将这个参数设置为Off,那末Apache将利用从客户恳求中取得办事器的名字和端口值(撑持HTTP 1.1的客户的恳求中将会有这些信息),从头构建URL。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">TypesConfig /etc/mime.types <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">TypeConfig用于设置保留有分歧的MIME类型数据的文件名,在Linux下缺省设置为/usr/local/apache/etc/mime.types 或/etc/mime.types。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">DefaultType text/plain <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">假如Web办事器不克不及决意一个文档的缺省类型,这凡是暗示文档利用了非尺度的后缀,那末办事器就利用 DefaultType界说的MIME类型将文档发送给客户阅读器。这里的设置为text/plain,如许设置的成绩是,假如办事器不克不及判别出文档的 MIME,那末大局部情形下这个文档为一个二进制文档,但利用 text/plain格局发送归去,阅读器将在外部翻开它而不会提醒保留。因而建议将这个设置更改成application/octet-stream,如许阅读器将提醒用户停止保留。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">MIMEMagicFile /usr/share/magic <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">除从文件的后缀动身来判别文件的MIME类型以外,Apache还可以进一步剖析文件的一些特点,来判别文件的真实MIME类型。这个功效是由mod_mime_magic 模块完成的,它需求一个纪录各类MIME类型特点的文件,以停止剖析判别。下面的设置是一个前提语句,假如载入了这个模块,就必需指定响应的标记文件 magic的地位。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">HostnameLookups Off <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">凡是毗连时,办事器仅仅可以失掉客户机的IP地址,假如要想取得客户机的主机名,以停止日记纪录和供应给 CGI法式利用,就需求利用这个HostnameLookups 选项,将其设置为On翻开DNS反查功效。然而这将使办事器对每次客户恳求都停止DNS查询,增添了体系开支,使得反响变慢,因而缺省设置为利用Off封闭此选项。封闭选项以后,办事器就不会取得客户机的主机名,而只能利用IP地址来纪录客户。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ErrorLog /var/log/httpd-error.log <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LogLevel warn <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent} "" combined <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LogFormat "%h %l %u %t "%r" %>s %b" common <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LogFormat "%{Referer}i -> %U" referer <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LogFormat "%{User-agent}i" agent <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#CustomLog /var/log/httpd-access.log common <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#CustomLog /var/log/httpd-referer.log referer <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#CustomLog /var/log/httpd-agent.log agent <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">CustomLog /var/log/httpd-access.log combined <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这里界说了体系日记的模式,关于办事器毛病纪录, 由ErrorLog、 LogLevel 来界说分歧的毛病日记文件及其纪录内容。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">关于体系的会见日记,缺省利用CustomLog参数界说日记的地位,缺省利用 combined 参数指定将一切的会见日记放在一个文件中,但是也能够将分歧品种的会见日记放在分歧的日记纪录文件中,这是经由过程在 CustomLog中指定分歧的纪录类型来完成的。common暗示通俗的对单页面恳求会见纪录,referer暗示每一个页面的援用纪录,可以看出一个页面中包括的恳求数,agent暗示对客户机的类型纪录,明显可以将现有的combined 界说的设置行正文失落,并利用common、referer和agent作为CustomLog的参数,来为分歧品种的日记分离指定日记纪录文件。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">明显,LogFormat是用于界说分歧类型的日记停止纪录时利用的格局, 这里利用了以%开首的宏界说,以纪录分歧的内容。 假如这些参数指定的文件利用的是绝对途径,那末就是相对ServerRoot的途径。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ServerSignature On <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">一些情形下,例如当客户恳求的网页其实不存在时,办事器将发生毛病文档,缺省情形下因为翻开了 ServerSignature选项,毛病文档的最初一即将包括办事器的名字、Apache的版本等信息。有的办理员更偏向于不合错误外显示这些信息,就能够将这个参数设置为Off,或设置为Email,最初一即将交换为对 ServerAdmin 的Email提醒。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Alias /icons/ "/www/icons/" <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Options Indexes MultiViews <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AllowOverride None <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Order allow,deny <P style="TEXT-INDENT: 2em">Allow from all
<P style="TEXT-INDENT: 2em">Alias参数用于将URL与办事器文件体系中的真实地位停止直接映照,普通的文档将在DocumentRoot 中停止查询,但是利用Alias界说的途径将直接映照到响应目次下,而不再到DocumentRoot 上面停止查询。因而Alias可以用来映照一些公用文件的途径,例如保留了各类经常使用图标的icons途径。如许使得除利用符号毗连以外,文档根目次(DocumentRoot)外的目次也能够经由过程利用了Alias映照,供应给阅读器会见。 界说好映照的途径以后,应当需求利用Directory语句设置会见限制。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ScriptAlias /cgi-bin/ "/www/cgi-bin/" <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AllowOverride None <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Options None <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Order allow,deny <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Allow from all <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ScriptAlias也是用于URL途径的映照,但与Alias的分歧在于,ScriptAlias 是用于映照CGI法式的途径,这个途径下的文件都被界说为CGI法式,经由过程履行它们来取得了局,而非由办事器直接前往其内容。缺省情形下CGI法式利用 cgi-bin目次作为虚拟途径。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Redirect old-URI new-URL <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Redirect参数是用来重写URL的,当阅读器会见办事器上的一个已不存在的资本的时分,办事器前往给阅读器新的URL,告知阅读器从该URL中获得资本。这次要用于本来存在于办事器上的文档,改动了地位以后,而又但愿能利用老URL能会见到,以坚持与之前的URL兼容。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">IndexOptions FancyIndexing <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIconByType (TXT,/icons/text.gif) text/* <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIconByType (IMG,/icons/image2.gif) image/* <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIconByType (SND,/icons/sound2.gif) audio/* <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIconByType (VID,/icons/movie.gif) video/* <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/binary.gif .bin .exe <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/binhex.gif .hqx <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/tar.gif .tar <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/a.gif .ps .ai .eps <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/layout.gif .html .shtml .htm .pdf <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/text.gif .txt <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/c.gif .c <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/p.gif .pl .py <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/f.gif .for <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/dvi.gif .dvi <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/uuencoded.gif .uu <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/tex.gif .tex <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/bomb.gif core <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/back.gif .. <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/hand.right.gif README <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/folder.gif ^^DIRECTORY^^ <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddIcon /icons/blank.gif ^^BLANKICON^^ <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">DefaultIcon /icons/unknown.gif <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddDescription "GZIP compressed document" .gz <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddDescription "tar archive" .tar <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddDescription "GZIP compressed tar archive" .tgz <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">ReadmeName README <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">HeaderName HEADER <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">当一个HTTP恳求的URL为一个目次的时分,办事器前往这个目次中的索引文件。但假如一个目次中不存在缺省的索引文件,而且该办事器又允许显示目次文件列表的时分,就会显示出这个目次中的文件列表,为了使得这个文件列表能具有可了解性,而不单单是一个复杂的列表,就需求后面的这些设置参数。假如利用了 IndexOptions FancyIndexing选项,可让办事器发生的目次列表中针对各类分歧类型的文档援用各类图标。而哪一种文件利用哪一种图标,则利用上面的 AddIconByEncoding、AddIconByType和AddIcon来界说,分离根据MIME 的编码、类型和文件的后缀来判别利用何种图标。假如不克不及肯定文档利用的图标,就利用 DefaultIcon界说的缺省图标。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">一样,利用AddDescription可觉得分歧类型的文档到场分歧的描写。而且,办事器还在目次下,查询利用ReadmeName和HeaderName界说的文件(主动加上 .html后缀,假如没有发明,再利用.txt后缀停止搜刮),假如发明了这些文件,就在文件列表之前起首显示这些文件的内容,以使得通俗目次列表具有更大的可了解性。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">IndexIgnore让办事器在列出文件列表时疏忽响应的文件, 这里利用形式设置装备摆设的体例界说文件名。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddEncoding x-compress Z <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddEncoding x-gzip gz <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddEncoding用于告知一些利用紧缩的MIME类型,如许可让阅读器停止解紧缩操作。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddLanguage en .en <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddLanguage fr .fr <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddLanguage de .de <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddLanguage da .da <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddLanguage el .el <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddLanguage it .it <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">LanguagePriority en fr de <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">一个HTML文档可以同时具有多个言语的版本,如关于file1.html文档可以具有file1.html.en、file1.html.fr 等分歧的版本,每一个言语后缀必需利用 AddLanguage停止界说。如许办事器可以针对分歧国度的客户,经由过程与阅读器停止协商,发送分歧的言语版本。而LanguagePriority 界说分歧言语的优先级,以便在阅读器没有特别请求时,依照按次利用分歧的言语版本回应对file1.html 的恳求。这个国际化的才能实践的使用其实不多。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddType application/x-httpd-php .phtml <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddType application/x-httpd-php-source .phps <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddType参数可觉得特定后缀的文件指定MIME类型,这里的设置将掩盖 mime.types中的设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddHandler cgi-script .cgi <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddHandler是用于指定非静态的处置类型,用于界说文档为一个非静态的文档类型,需求停止处置,再向阅读器前往处置了局。例如下面正文中的设置是将以.cgi开头的文件设置为cgi-script类型,那末办事器将启动这个CGI法式以停止处置。假如需求在后面AliasScript界说的途径以外履行CGI法式,就需求利用这个参数停止设置,尔后以.cgi开头的文件将被看成CGI法式履行。在设置装备摆设文件、这个目次中的.htaccess和其下级目次的.htaccess中必需答应履行CGI法式,这需求经由过程Options ExecCGI参数设定。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddType text/html .shtml <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddHandler server-parsed .shtml <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">别的一种静态停止处置的类型为server-parsed,由办事器本身事后剖析网页内的标志,将标志更改成准确的HTML标识。因为server- parsed需求对text/html 类型的文档停止处置,因而起首界说了对应的.shtml为text/html类型。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">但是要撑持SSI,还要起首要在设置装备摆设文件(或.htaccess)中利用Options Includes答应该目次下的文档可觉得SSI类型,或利用Options IncludesNOExec让履行通俗的SSI标记,但不履行个中援用的内部法式。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">另外一种指定server-parsed类型的体例为利用XBitBack设置选项,假如将 XBitHack设置为On,办事器将反省一切text/html类型的文档(包含.html后缀的文档),假如发明文件属性具有履行位 “x",则办事器就以为它是办事器剖析文档,需求办事器停止处置。保举利用AddHandler停止设置,而将XBitBack 设置为Off,由于利用XBitBack将对一切的HTML文档都履行额定的反省,下降了效力。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddHandler send-as-is asis <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddHandler imap-file map <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#AddHandler type-map var <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">下面被正文的AddHandler用于撑持Apache办事器的asis、map和var处置才能 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Action media/type /cgi-script/location <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Action handler-name /cgi-script/location <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">由于Apache外部供应的处置功效无限,因而可使用Action为办事器界说内部法式作为可处置的静态文档类型,这些内部法式与尺度CGI法式不异,都是对输出的数据处置以后,再输入分歧MIME类型的了局。例如要界说一个对特别后缀wri都先履行wri2txt停止处置操作,再前往了局的操作,可使用: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Action windows-writer /bin/wri2txt <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">AddHandler windows-writer wri <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">更进一步,可以直接利用Action界说对某个MIME类型事后停止处置操作,这需求例子中第一种格局的Action 参数设置体例。如许设置体例就不再需求额定的AddHandler用来将处置操作与文件后缀接洽起来,而是利用Action直接处置MIME类型的文件。但假如文档后缀没有正式的MIME类型,还需求先界说一个MIME类型。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#MetaDir .web <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#MetaSuffix .meta <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Meta 信息是在文档发送给客户之前,事后发送给客户阅读器一些数据,因而阅读器可以经由过程HEAD恳求来会见这些Meta信息而不用真正经由过程GET来前往全体文档数据。办事器凡是发送给阅读器的是一些尺度的HTTP头信息,假如要想增添额定的信息,就需求利用MetaDir来界说Meta数据寄存的目次,而MetaS uffix用于指定包括Meta数据的文件后缀。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ErrorDocument 500 "The server made a boo boo. <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ErrorDocument 404 /missing.html <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ErrorDocument 404 /cgi-bin/missing_handler.pl <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">#ErrorDocument 402 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">http://some.other_server.com/subscription_info.html <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">假如客户恳求的网页不存在,或没有会见权限等情形产生时,办事器将发生一个毛病代码,同时也将回应客户阅读器一个标识毛病的网页。 ErrorDocument就用于设置当呈现哪一个毛病时应当回应客户阅读器那些内容,ErrorDocument的第一个参数为毛病的序号,第二个参数为回应的数据,可觉得复杂的文本,当地网页,当地CGI法式,和近程主机上的网页。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">BrowserMatch "Mozilla/2" nokeepalive <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">BrowserMatch "RealPlayer 4.0" force-response-1.0 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">BrowserMatch "Java/1.0" force-response-1.0 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">BrowserMatch "JDK/1.0" force-response-1.0 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">BrowserMatch号令为特定的客户法式,设置特别的参数,以包管对老版本阅读器的兼容性,并撑持新阅读器的新特征。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># SetHandler server-status <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Order deny,allow <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"># Deny from all
深爱那片海 该用户已被删除
沙发
发表于 2015-2-4 08:00:31 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
老尸 该用户已被删除
板凳
发表于 2015-2-9 19:33:35 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
只想知道 该用户已被删除
地板
发表于 2015-2-26 00:41:26 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
5#
发表于 2015-3-1 07:11:03 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
再见西城 该用户已被删除
6#
 楼主| 发表于 2015-3-1 20:45:08 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
不帅 该用户已被删除
7#
发表于 2015-3-5 21:15:38 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
爱飞 该用户已被删除
8#
发表于 2015-3-12 15:10:15 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
乐观 该用户已被删除
9#
发表于 2015-3-19 23:20:42 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
蒙在股里 该用户已被删除
10#
发表于 2015-3-27 23:10:39 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
小魔女 该用户已被删除
11#
发表于 2015-4-1 20:08:51 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
透明 该用户已被删除
12#
发表于 2015-4-2 14:52:05 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
小妖女 该用户已被删除
13#
发表于 2015-4-17 09:12:37 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
冷月葬花魂 该用户已被删除
14#
发表于 2015-6-5 08:43:35 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
admin 该用户已被删除
15#
发表于 2015-6-11 21:05:11 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
简单生活 该用户已被删除
16#
发表于 2015-6-14 20:14:27 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
再现理想 该用户已被删除
17#
发表于 2015-7-9 08:56:38 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
金色的骷髅 该用户已被删除
18#
发表于 2015-7-11 21:34:33 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
变相怪杰 该用户已被删除
19#
发表于 2015-7-12 20:10:52 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
飘飘悠悠 该用户已被删除
20#
发表于 2015-7-12 20:55:42 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表