频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站服务器架设维护教程 -> 网站服务器架设应用 -> APACHE架设网站(二)

APACHE架设网站(二)

作者:圈圈  来源:本站整理  发布时间:2007-4-18 6:52:33  发布人:圈圈

减小字体 增大字体

第二篇


这是指定使用多执行绪行程MPM o


98 ##

99 ## Server-Pool Size Regulation (MPM specific)

100 ##


IfModule prefork.c是载入prefork.c的模块。

Start Servers是服务器行程启始的数量,预设为8 。

Min Spare Servers指定闲置行程的最小数量,预设为5 。

Max Spare Servers指定闲置行程的最大数量,预设为20。

Max clients是设定同时可允许最多的行程,预设为150。

MaxClients*ThreadsPerChild就是Apache可以同时请求处理的总数量。

MaxRequestsPerChild为每一个子行程可以服务的请求数量,预设为1000。

108 < IfModule prefork.c >
109 StartServers 8
110 MinSpareServers 5
111 MaxSpareServers 20
112 MaxSpareServers 150
113 MaxSpareServers 1000
114 < /If Module >


IfModule work.c是载入work.c的模块
StartServers是服务器行程启始的数量,预设为2 。
MinSpareServers指定闲置执行线程的最小数量,预设为25。
MaxSpareServers指定闲置执行线程的最大数晕,预设为75 。
Maxclients是设定使用者端同步连接最大的数量,预设为150。
MaxClients*ThreadsPerChild就是Apache可以同时请求处理的总数量。
ThreadsPerChild为每个行程可以有多少常驻的执行线程,预设为25。
MaxRequestsPerChild为每一个行程可以服务的请求数量,预设为0。


123 < If Module worker.c >
124 Start Servers 2
125 MaxClients 150
126 MinSpareThreads 25
127 MaxSpareThreads 75
128 ThreadsPerChild 25
129 MaxRequestsPerChild 0
130 < /IfModule >

IfModule perch.c是载入perchild.c的模组。
NumServers常驻的伺服器行程,预设是5 。
StartThreads每一个行程一开始就执行的执行线程,预设为5。
MinSpareThreads指定閒置执行线程的最小数量,预设为5。
MaxSpareThreads指定閒代执行线程的最大数量,预设为10。
MaxThreadSPerChild每个行程最大的常驻执行线程数量,预设为20。
ThreadsPerChild为每个行程可以有多少常驻的执行线程,预设为25。
MaxRequestsPerChild为每一个伺服器行程可以连按的数景,预设为0。

139 < IfModule perchild.c >
140 NumServers 5
141 StartThreads 5
142 MinSpareThreads 5
143 MaxSpareThreads 10
144 MaxThreadsPerChild 20
145 MaxRequestsPerChild 0
146 < /IfModule >


(8) Listen 连接端口指令

Apache伺服器指定的迎接端口是预设址80。我们也可以指定Apache要连接的IP位址,如61.218.29.2:80。Listen 61.218.29.2:80,就是设定Apache的位址为 61.218.29.2:的第80连接端口。 Listen指令比BindAddress 和连接端口Port指令更好使用。多个Listen指令也可以让我们指定多个IP地址。在/etc/service中设定Apache的连接端口为80。Service服务连接端口可在低于65536的任何连接端口。只有超级使用者才能有权执行低于1024连接端口的程式。


157 Listen 80


设是在/etc/service中设定Apache网站服务器的连接端口为80。

86 http 80/tcp www www.http # WorldWideWeb HTTP
87 http 80/udp www www.http # HyperText Transfer Pro
__tocol



(9)Include包含指令

我们可以使用Include指令从外部或/etc/httpd/conf.d的组态目录载入组态档。/etc/httpd/conf.d的目錄中包函了许多和组态相关的指定模块,Include指令可以让我们们从外部载入档案。假如Include指令指向目錄,Apache将从该目录读取所有的档案再来分析语法。这档案路径是相对於ServerRoot指令所指定的路径,例如 ServerRoot指令指定根目錄为/etc/httpd,所以Include指令包含conf.d的路径就是/etc/httpd/conf.d目录下的所有组态档。

162 Include conf.d/*.conf

这是我们虚拟主机的设定档virtual.conf,我们把这个virtual.conf的档案放到/etc/httpd/conf.d的目录下。在httpd.conf组态档的162行使用Include命令把/etc/httpd/conf.d所有的档案包含进来我们的httpd.conf组态档里。


1 NameVirtualHost 61.218.29.3
2 < VirtualHost 61.218.29.3 >
3 ServerAdmin yangjie@linuxunion.net
4 DocumentRoot /var/www/virtual2
5 ServerName virtual2.linuxunion.net
6 ErrorLog logs/virtual2.net-error_log
7 CustomLog logs/virtual2.net-access_log common
8 < /VirtualHost >
9 < VirtualHost 61.218.29.3 >
10 ServerAdmin yangjie@linuxunion.net
11 DocumentRoot /var/www/virtual3
12 ServerName virtual3.linuxunion.net
13 ErrorLog logs/virtual3.net-error_log
14 CustomLog logs/virtual3.com-access_log common
15 < /VirtualHost >

这些档案会被Include命令包含进来Apache服务器的组态档里。

[root@localhost] # ls
auth_mysql.conf perl.conf python.conf squirrelmail.conf virtual.conf
auth_pgsql.conf php.conf README ssl.conf


我们也可以选择性的将需要的档案包含进来使用include命令。


Include conf/ssl.conf,这样可以将ssl.conf加密传输协议组态档包含。

Include onf/php.conf,这样可以将php.conf动态网页PHP组态档给包含进来。


(10) LoadModule载入模块命令

从176行到211行为载入动态分享物件。*.so为我们的动态分享物件。在我们编译Apache的过程中,个别的Apache模块可以被选取来作动态连结。只有我们在指定载入(LoadModule命令)动态模块时,Apache网站服务器才会将它载入到我们的记忆体中。在第176行到211行是为我们载入的命令(LoadModule)和所载入模块的路径。如果我们不需要载入相关模块,只要在该行的前面加上注解分析 # 就可以了。



176 LoadModule access_module modules/mod_access.so
177 LoadModule auth_module modules/mod_auth.so
178 LoadModule auth_anon_module modules/mod_auth anon.so
179 LoadModule auth_dbm_module modules/mod_auth_dbm.so
180 LoadModule auth_digest_module modules/mod_auth_digest.so
181 LoadModule include module modules/mod_include.so
182 LoadModule log_config_module modules/mod_log_config.so
183 LoadModule env_module modules/mod env.so
184 LoadModule mime_magic_module modules/mod_mime_magic.so
185 LoadModule cern meta_module modules/mod_cern_meta.so
186 LoadModule expires_module modules/mod_expires.so
187 LoadModule headers_module modules/mod_headers.so
188 LoadModule usertrack_modul~ modules/mod_usertruck.so
189 LoadModule unique id module modules/mod_unique_id.so
190 LoadModule setenvif_module modules/mod setenvif.so
191 LoadModule mime module modules/mod_mime.so
192 LoadModule day_module modules/mod_dav.so
193 LoadModule status_module modules/mod_status.so
194 LoadModule autoindex module modules/mod_autoindex.so
195 LoadModule asis_moduge modules/mod_asis.so
196 LoadModule info_module modules/mod_info.so
197 LoadModule cgi_module modules/mod_cgi.so
198 LoadModule dav-fs module modules/mod_dav_fs.so
199 LoadModule vhost alias_module modules/mod vhost alias.so
200 LoadModule negotiation_module modules/mod~negotiation.so
201 LoadModule dir module modules/mod dir.so
202 LoadModule imap_module modules/mod_imap.so
203 LoadModule actions_module modules/mod_actions.so
204 LoadModule speling_module modules/mod_speling.so
205 LoadModule userdir module modules/mod userdir.so
206 LoadModule alias module modules/mod alias.so
207 LoadModule rewrite module modules/mod_rewrite.so
208 LoadModule proxy_module modules/mod_proxy.so
209 LoadModul~ proxy_ftp_module modules/mod_proxy_ftp.so
210 LoadModule proxy_http_module modules/mod_proxy_http.so
211 LoadModule proxy_connect_module modules/mod_proxy_connect.so









◆ 设定主服务器的组态指令

⑴ 设定主服务器的组态。

第二段的http.conf档案从第220行到1000行为设定为主服务器的组态。

220###Section 2:‘Main’server configuration


⑵ User使用者与Group群组指令

User指令指定以apache使用者来执行httpd。

Group指令指定以apache群组来执行httpd。


第244行设定APACHE服务器的拥有者,预设是APACHE 。第245行设定APACHE服务器的使用群组为APACHE。一般使用建立www的使用者来管理Apache系统。


244 User apache
245 Group apache

这httpd常驻程式不必以超级使用者的模式来执行,因为这樣比较安全,因为它的权限不会这麼高。在httpd常驻程式的拥有者为Apache 。假如我们改变使用名者和群组的指令,我们应该指定沒有特权的实体。这樣当我们的网站被渗透时,就可减低被伤害的危机。因为网站服务器的权限並沒有特权来修改我们的系统。 Httpd的常驻行程一开始是由root超级使用者啟动。连接服务器到较低的连接端口,而且用使用者和群组指令来转換使用者和群组是很重要的。其它的服务器行程则以User Id或Group Id指令的方式来执行。


⑶ ServerAdmin伺服器管理者指令

ServerAdmin指令设定APACHE的管理者E-mail信箱位址。预设的是超级使用者的E-mail。当服务器发生网页错误时,就会将错误的资讯寄到下列的邮件信箱位址,预设是root@localhost。我们可以以将邮件信箱位址设到自己的信箱例如:

webmaster@linuxunion.net是我们网站管理员的信箱。

252 ServerAdmin root@localhost

当我们的服务器发生一些事情时,我们可以寄事件资讯给服务器的管理员。在ServerAdmin指令中,我们可以设定收到此邮件的服务器管理员。 ServerAdmin指令可以寄送邮件到使用者帐号,或者转信到服务器管理者。

⑷ ServerName服务器名称指令

ServerName指令设定APACHE服务器名称,在这里可打上IP。预设是使用注解符号暂时关闭,如果我们的主机名称为www.linuxunion.net就将Server Nam指令设成www.linuxunion.net。

266 #ServerName new.host.name : 80

ServerName指令让服务器能夠使用名称和连接埠来辨別它自己。我们建议指定正确的服务器名称来预防问题的发生。假如ServerName指令沒有指向主机正确网域名称,服务器将沒有办法转向。假如主机名称沒用登录到DNS(网域名称服务器),则请输入我们的IP位址。我们将靠这IP位址来存取这台电脑。


linuxunion.net就像是WWW.linuxunion.net的别名机台,而这真正的机台名称为www.linuxunion.net(linuxunion.net和www.linuxunion.net的名子在DNS都有登录)。我们可以将好几个域名都指向同一个IP位置,但是服务器名称则只有一个,例如linuxunion.net和www.linuxunion.net都指向219.77.62.183这个机台的IP位置,而它的服务器名称则为www.linuxunion.net。






⑸ Use Canonical Name指令


UseCanonicalName指令设址服务器如何决定它自己的名称和连接端口,当Canonical名称设定OFF时APACHE会用主机名称和连接端口来辨别自己的位址与服务器名称。


275 UseCanonicalName Off

UseCanonicalName指令决定Apache如何建立参考自己的URLs、服务器名称和连接端口变数。当设定为Off时,Apache将使用使用输入的主机名称和连接端口,当设定为On时,Apache将使用ServerName指令所指定的名称。

UseCanonicalName指令提供命名一致的类型。当UseCanonicalName设定为On时,Apache总是使用ServerName指令和Port指令来建立URL(资源寻址)参考。当UseCanonicalName指令设定为off时,这URL(资源寻址)总是用使用者输入的地址。

⑹ DocumentRoot文件根目录指令

DocumentRoot指令设定APACHE服务器存放网站网页的地方。DocumentRoot指令执行之后,会指示服务器把指定的目录当作是所有网站服务器网页的根目录。如果我们设定/home/linuxunion则linuxunion使用者的家目录就是当作网站服务器存取的根目录。预设是放到/var/www/html的目录底下。我们也可以使用符号连结(Symbolic1ink)来连结到其它的地址。


282 DocmentRoot “/var/www/html”

我们可以将网站的网页放到好几个不同的目录中,而主要的位置是/var/www/html为网页文件的主要目录,我们可以使用DocumentRoot指令来指示网页文件所放置的位置。

DocumentRoot“var/www/html”设定网站的根目录,因此当我们存取
http://www.linuxunion.net/index.html时,就是存取/var/www/htmI/index.html的网页。


⑺ < Directory >指令

指令将一群指令用作在设定的档案系统目录和子目录。Apach有下列的容器指令指令。

让我们现在来介绍指令。


语法:

< Directory目录路径 >….< /Directory >

< Directory >和< /Directory >指令是使用来围住一群被命名的目录和子目录。
在网站目录结构下可以设定每一个目录的各别存取权限。这预设的权限是非常的严格。< Directory/ >….< /Directory >之间的区段设定Options和AIIowOverride的目录存取允许权。/目录预设为/var/www/html的目录。Options FollowSymlinks指令


指示服务器符号连结可以使用连结到其它位置的档案。

292 < Directory />
293 Options FollowSymLinks
294 AllowOverride None
295 </Di rec tory >


第307行到第336行是我们设定放置网站根目錄的属性

我们由前面预设的目錄为/var/www/html。


307 < Directory “/var/www/html” >
308
309 #
310 # possible values for the options directive are “None”,“All”,
311 # or any combination of :
312 # Indexes Includes FollowSymLinks if OwnerMatch ExecCGI Multiviews
313 #
314 # Note that “MultiViews”must be named “explicityly”-- “Options All”

315 # does ′t give it to you.
316 #
317 # The Options directive is both complicated and important. Please see
318 # http://httpd.apache.org/docs-2.0/mod/core.html#options
319 # for more information
320 #
321 Options Indexes FollowSymLinks
322
323 #
324 # AllowOverride controls what directives may be placed in .htaccess files.
325 # It can be “All”,“None”,or any combination of thekeywords:
326 # Options Fileinfo AuthConfig Limit
327 #
328 AllowOverride None
329
330 #
331 # Controls who can get stuff from this server.
332 #
333 Order allow,deny
334 Allow from all
335
336 < /Directory >



….< /Directory >指令当作容器将options指令、AIIowOverride指令、deny、allow与order指令给包住。Options指令是设定区块的功能。Deny指令和allow指令是拒絕或允许使用者可以从哪些地方连接到我们网站,order指令是设定deny与allow的使用顺序。




Options指令设定特定目錄的组态特征。

语法:

Options[+ | -]option

一般而言多个Options指令的参数可以作用在特定目錄。假如在参数面前加上 「+ 」的符号,则表示将该项特征参数加到Options上。假如在参数面前加上「 - 」的符号示将该项特征参去从Options栘除。





这是AIIowOverride指令的参数說明。AllowOverride指令设定可以在 .htaccess档案的指令类型。





这是AIIowOverride的指令语法。预设是AIIowOverride All。当我们有设定AccessFileName指令来设定目錄的存取档 .htaccess时,服务器会找寻 .htaccess档的指令,而AIIowOverride指令定义那些指令可以被 .htaccess档案覆写。

语法:

AllowOverride All | None | 指令类型

当allowOverride指令设定为None时, .htaccess就会完全被怱略,因此服务器就不会去读取档案系统的 .htaccess档。

当AIIowOverride指令设定为All时,.htaccess档案裹面的指令就会被作用。


指令中不能有巢状的出现。



我们可以一些像是Shell的字元来表示路径。万用字元,可以代表一连串的字元,但是不包括‘/’字元。还有‘?’字元,‘?’字元只代表任意一个字元。‘[]’代表字元的范围。‘~’代表可以延伸的字元。‘^’代表第一个字元。‘$’代表最后一个字元。

例如在< Dirctory/home/*/public_html >中使用*万用字元来对应在 /home底下的所有目錄。

在下面这个< Dirctory/home/*/public_html >指令中, 它可以运用在每一个使用者


的public_html目錄。因为每一个使用者的家目錄都是在 /home底下,*万用字元则代表所有的字元及使用者。

< Dirctory/home/*/public_html >

Allowoverride All

< /Dirctory >

我们可以使用正规运算式来表示目錄或档案路径。这表示符合大写字母和两个字元的目錄,例如/A00/或/Z99。

< DirectoryMatch “/[A-Z][0-9]{2}/” >

这是正规运算式常用的代換字元,如果我们要将代換字元当一般字元使用可以在前面加上‘﹨’反斜線。例如‘﹨.’代表逗号,而不是代換字元.
代换字元 说明
. 代替任何字元(新列字元除外)
^ 指定正规运算式的开头
$ 指定正规运算式的结尾

﹨ b

比队字的边界
Goodlbad 找出good或bad(l为or运算子)
[A-Z] 满足大写任何字元
~ 代替前面任何字元
[^xyz] 任何不在xyz的字元

正规运算式是由代換字元、数量符号和一般字元所形成。
^apache是指定符合任何以apache为开始的路径。
apache$是指正符合任何以apache为结尾的路径。
^apache$是指定符合只有一个字apache所组成的路径。

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· APACHE架设网站(二)
· Google要做"傻冒"?考虑..
· 传LG中国区总裁位易主 总..
· Photoshop实例:修复通道..
· 7300个网页公然叫卖LV 专..
· 让你的内存越用越多
· asp.net高级教程(二)-..
· 使用MS SQL7的LINKED SE..
· PHP文本型数据库分类排序..
· 创建一个ASP通用分页类(..
· NT 下虚拟域名的实现
· 学会制作你的播放器V2版..
· 跨越域的Cookie
· 了解在Flash中的编程工作..
· 批量将一个库里的所有表..
· 对Alexa世界排名作弊方法..
相关文章
· 瞄准Apache IIS7向开源张开..
· 配置Apache服务器并且设置D..
· Windows下的 Apache + PHP ..
· Apache小技巧五则
· Linux下Apache与Tomcat整合..
· Apache与Tomcat安装配置
· Apache2+Resin2.x集群配置实..
· 利用Apache+PHP3+MySQL建立..
· Apache+Tomcat负载平衡设置..
· PHP+JSP/servlets+Mysql+po..
· FreeBSD下 -- Apache基本安..
· Linux下Apache、JServ的整合..
· 用Apache的CGI封装器来加强..
· APACHE架设网站(一)
· Apache Prefork和Worker模式..
· PHP5.2+APACHE2.2+BugFree1..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号