Apache的設置由httpd.conf文件設置,因此下面的設置指令都是在httpd.conf文件中修改。
一、Apache 根基設置:
ServerRoot "/mnt/software/apache2"
#你的apache軟件安裝的位置。其它指定的目次假如沒有指定絕對路徑,則目次是相對付該目次。
PidFile logs/httpd.pid #第一個httpd歷程(所有其他歷程的父歷程)的歷程號文件位置。
Listen 80 #處事器監(jiān)聽的端標語。
ServerName www.scutephp.com:80 #主站點名稱(網(wǎng)站的主機名)。
ServerAdmin [email protected] #打點員的郵件地點。
DocumentRoot "/mnt/web/scutephp" #主站點的網(wǎng)頁存儲位置。
以下是對主站點的目次舉辦會見節(jié)制:
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Options FollowSymLinks
在上面這段目次屬性設置中,主要有下面的選項:
Options:設置在特定目次利用哪些特性,常用的值和根基寄義如下:
ExecCGI: 在該目次下答允執(zhí)行CGI劇本。
FollowSymLinks: 在該目次下答允文件系統(tǒng)利用標記毗連。
Indexes:
當用戶會見該目次時,假如用戶找不到DirectoryIndex指定的主頁文件(譬喻index.html),則返回該目次下的文件列表給用戶。
SymLinksIfOwnerMatch: 當利用標記毗連時,只有當標記毗連的文件擁有者與實際文件的擁有者溝通時才可以會見。
AllowOverride:答允存在于.htaccess文件中的指令范例(.htaccess文件名是可以改變的,其文件名由AccessFileName指令抉擇):
None: 當AllowOverride被配置為None時。不搜索該目次下的.htaccess文件(可以減小處事器開銷)。
All: 在.htaccess文件中可以利用所有的指令。
Order:節(jié)制在會見時Allow和Deny兩個會見法則哪個優(yōu)先:
Allow:答允會見的主機列表(可用域名或子網(wǎng),譬喻:Allow from 192.168.0.0/16)。
Deny:拒絕會見的主機列表。
DirectoryIndex index.html index.htm index.php
#主頁文件的配置(本例將主頁文件配置為:index.html,index.htm和index.php)
apache2主要的優(yōu)勢就是對多處理懲罰器的支持更好,在編譯時同過利用–with-mpm選項來抉擇apache2的事情模式。假如知道當前的apache2利用什么事情機制,可以通過httpd -l呼吁列出apache的所有模塊,就可以知道其事情方法:
prefork:假如httpd -l列出prefork.c,則需要對下面的段舉辦設置:
<IfModule prefork.c>StartServers 5 #啟動apache時啟動的httpd歷程個數(shù)。
MinSpareServers 5 #處事器保持的最小空閑歷程數(shù)。
MaxSpareServers 10 #處事器保持的最大空閑歷程數(shù)。
MaxClients 150 #最大并發(fā)毗連數(shù)。
MaxRequestsPerChild 1000
#每個子歷程被請求處事幾多次后被kill掉。0暗示不限制,推薦配置為1000。
</IfModule>
在該事情模式下,處事器啟動后起動5個httpd歷程(加父歷程共6個,通過ps -ax|grep
httpd呼吁可以看到)。當有用戶毗連時,apache會利用一個空閑歷程為該毗連處事,同時父歷程會fork一個子歷程。直到內(nèi)存中的空閑歷程到達
MaxSpareServers。該模式是為了兼容一些舊版本的措施。我缺省編譯時的選項。
worker:假如httpd -l列出worker.c,則需要對下面的段舉辦設置:
StartServers 2 #啟動apache時啟動的httpd歷程個數(shù)。
MaxClients 150 #最大并發(fā)毗連數(shù)。
IXDBA.NET社區(qū)論壇
MinSpareThreads 25 #處事器保持的最小空閑線程數(shù)。
MaxSpareThreads 75 #處事器保持的最大空閑線程數(shù)。
ThreadsPerChild 25 #每個子歷程的發(fā)生的線程數(shù)。
MaxRequestsPerChild 0 #每個子歷程被請求處事幾多次后被kill掉。0暗示不限制,推薦配置為1000。
</IfModule>
該模式是由線程來監(jiān)聽客戶的毗連。當有新客戶毗連時,由個中的一個空閑線程接管毗連。處事器在啟動時啟動兩個歷程,每個歷程發(fā)生的線程數(shù)是牢靠的 (ThreadsPerChild抉擇),因此啟動時有50個線程。當50個線程不足用時,處事器自動fork一個歷程,再發(fā)生25個線程。
perchild:假如httpd -l列出perchild.c,則需要對下面的段舉辦設置:
<IfModule perchild.c>NumServers 5 #處事器啟動時啟動的子歷程數(shù)
StartThreads 5 #每個子歷程啟動時啟動的線程數(shù)
MinSpareThreads 5 #內(nèi)存中的最小空閑線程數(shù)
MaxSpareThreads 10 #最大空閑線程數(shù)
MaxThreadsPerChild 2000 #每個線程最多被請求幾多次退卻出。0不受限制。
MaxRequestsPerChild 10000 #每個子歷程處事幾多次后被從頭fork。0暗示不受限制。
</IfModule>