當前位置:首頁 » 編程軟體 » windows編譯apache

windows編譯apache

發布時間: 2022-05-23 22:01:32

❶ windows上apache 怎麼配置

windows上apache 配置方法如下:

1、打開伺服器中,找到Apache安裝目錄,以下圖為例Apache安裝的目錄;

7、重啟Apache。開始—> 運行 —> cmd 輸入命令;net stopApache2.2net start Apache2.2;

編譯安裝apache 怎麼關閉 gzip

先來了解一下GZIP ,gzip是GNU zip的縮寫,它是一個GNU自由軟體的文件壓縮程序,也經常用來表示gzip這種文件格式。軟體的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號是0.1,目前的穩定版本是1.2.4。
gzip可以級大的加速網站.有時壓縮比率高到80%,近來測試了一下,最少都有40%以上,還是相當不錯的.在Apache2之後的版本,模塊名不叫gzip,而叫mod_deflate
1、Apache啟用gzip
如果要開啟gzip的話,一定要打開下面二個模塊.
LoadMole headers_mole moles/mod_headers.so
LoadMole deflate_mole moles/mod_deflate.so
設置壓縮比率,取值范圍在 1(最低) 到 9(最高)之間,不建議設置太高,雖然有很高的壓縮率,但是佔用更多的CPU資源.
DeflateCompressionLevel 3
AddOutputFilter DEFLATE html xml php js css
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4/.0[678] no-gzip
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI //.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary #對代理的設置
</Location>

測試數據對css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%
測試數據js
Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%
測試數據php
Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%
上面只是隨機拿的幾個數據,看的出來,使用了gzip壓縮後文件小多了.
另外講一下,有關squid對gzip的處理
在squid中,對同一個URL只保留一份緩存。對於如果不同browser(是否支持壓縮)如果頻繁交替訪問,例如:對某個cache住的目標,一個 http/1.0請求可能會導致squid強制更新其緩存。但接下來的另一個http/1.1請求又會導致squid再次更新緩存。這樣那squid緩存 數據就要頻繁更新,這就極大的降低了cache命中率。
不過還好,現實環境中不支持壓縮的browser畢竟是很少的情況,所以對於緩存命中率的降低很有限.
這個神通廣大的模塊就是mod_gzip. 它通過用和gzip一樣的壓縮演算法對apache發出的頁面進行壓縮,可能的話可以把頁面壓縮成為原來大小的十份之一。哪,如果10K的頁面只要傳1K這 不就是提速10倍嘛。當然一般網頁只可以達到3-6倍。那也很不錯。對吧。連google這樣一個大的網站都採用這個技術。你還不快跟上?
這樣一個好東東,來來來,我告訴你如何安裝:分3步,1、下載,2、修改配置,3、測試。

安裝, 配置
把mod_gzip放到你的apache的源代碼目錄下,新建一個mod_gzip目錄如果需要補丁(針對1.3.17.la版) 還需運行:
patch mod_gizp.c
按你需要,在配置中選擇動態DSO或靜態編譯進apache系統。如何處理在README中講得很清楚,如-add-mole=mod_gzip.c, make,make install等等。這里不多講。
把下列配置加入httpd.conf尾部。
# MOD_GZIP configuration
mod_gzip_on Yes
mod_gzip_minimum_file_size 1002
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 60000
mod_gzip_item_include mime "application/x-httpd-php"
mod_gzip_item_include mime text/*
mod_gzip_item_include mime "httpd/unix-directory"
mod_gzip_dechunk Yes
mod_gzip_temp_dir "/tmp"
mod_gzip_keep_workfiles No
mod_gzip_item_include file ".php3$"
mod_gzip_item_include file ".txt$"
mod_gzip_item_include file ".html$"
mod_gzip_item_exclude file ".css$"
mod_gzip_item_exclude file ".js$"
在保存修改後運行
…/bin/apachectl configtest確保配置修改無誤。
然後用 apachectl restart 指令重起服務。
修改,測試
在宣布做好了之前在測試一下是優秀程序員的習慣。為了盡量不影響你的用戶的瀏覽,我們可以用把新的apache驅動在8080埠上或者用指令控制mod_gzip起作用的目錄,而不是一下子全用mod_gzip.
用法如下:
MOD_GZIP configuration
沒有問題後你就可以讓你的用戶很開心的發現』XX網站現在好快哦。』
Mod_gzip真的很神奇,100K的HTML大 文檔只要12K就可以傳到用戶端了。越先採用這個技術你的用戶對你的網站的高速度印象就越深。不過有所得必有所失,由於解壓是在客戶端進行的,效果和用戶 的瀏覽器有一定關系。
2、IIS啟用gzip
現代的瀏覽器IE6和Firefox都支持客戶端Gzip,也就是說,在伺服器上的網頁,傳輸之前,先使用Gzip壓縮再傳輸給客戶端,客戶端接收之後由瀏覽器解壓顯示,這樣雖然稍微佔用了一些伺服器和客戶端的CPU,但是換來的是更高的帶寬利用率。對於純文本來講,壓縮率是相當可觀的。如果每個用戶節約50%的帶寬,那麼你租用來的那點帶寬就可以服務多一倍的客戶了。
IIS6已經內建了Gzip壓縮的支持,可惜,沒有設置更好的管理界面。所以要打開這個選項,還要費些功夫。
首先,如果你需要壓縮靜態文件(HTML),需要在硬碟上建一個目錄,並給它「IUSR_機器名」這個用戶的寫許可權。如果壓縮動態文件(PHP,asp,aspx)就不需要了,因為它的頁面是每次都動態生成的,壓縮完就放棄。然後在IIS管理器中,「網站」上面右鍵-屬性,不是下面的某個站點,而是整個網站。進入「服務」標簽,選上啟用動態內容壓縮,靜態內容壓縮。
然後選中網站下面那個伺服器擴展,新建一個伺服器擴展。名字無所謂,下面的添加文件的路徑是:
c:/windows/system32/inetsrv/gzip.dll,然後啟用這個擴展。
這時候靜態內容是可以壓縮的,但是對於動態內容,aspx文件卻不在壓縮范圍內。因為默認的可壓縮文件並沒有這個擴展名。而管理界面中你又找不到可以增加擴展名的地方,這時候只能去修改它的配置文件了。
在 c:/windows/system32/inetsrv/下面有個MetaBase.xml文件,可以用記事本打開,找到 IIsCompressionScheme,有三個相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本相同的參數,在這兩段的參數HcScriptFileExtensions下面都加上一行aspx,如果你有其它的動態程序要壓縮,也加在這里。 HcDynamicCompressionLevel改成9,(0-10,9是性價比最高的一個)。
1.首先備份 IIS 的配置文件,
復制C:/Windows/system32/inetsrv/metabase.xml到另外的備份文件夾中.
C:/Windows/system32/inetsrv/metabase.xml是 IIS 的核心配置文件,該文件的完整性一但被破壞,IIS 將無法正常運行,嚴重到需要重新安裝系統.
2. 在開始菜單中啟動 Internet 信息服務(IIS)管理器,右鍵點擊「網站」屬性,打開「服務」選項卡,勾選「HTTP 壓縮」的兩個選項。「臨時目錄」和「臨時目錄最大容量」可根據需要自行設置。設置完成後點擊確定。
3. 右鍵點擊「網站」下方的 「Web服務擴展」,添加一個新的Web服務擴展,擴展名填寫為「HTTP Compression」或其他,都可以。「要求的文件」添加:c:/windows/system32/inetsrv/gzip.dll ,並勾選「設置擴展狀態為允許」,完成後點擊確定。
4.下面的步驟有些復雜,如果沒有確定的把握能理解,最好不要嘗試,右鍵點擊「Internet 信息服務的」「本地計算機」屬性,勾選「允許直接編輯配置資料庫」並確定。
5. 在開始菜單中運行 notepad C:/Windows/system32/inetsrv/metabase.xml ,打開metabase.xml 文件,請在任何改動前再次確認該文件已經備份。
6. 搜索並找到 metabase.xml 文件中的<IIsCompressionScheme 片段中的HcScriptFileExtensions,依照原有文件的格式添加你希 望進行 HTTP 壓縮的文件擴展名,靜態文件HcFileExtensions可添加 JS,CSS 等; 動態文件HcScriptFileExtensions可添加"ASPX"」ASMX」,如下:
<IIsCompressionScheme Location =」/LM/W3SVC/Filters/Compression/deflate」
HcCompressionDll=」%windir%/system32/inetsrv/gzip.dll」
HcCreateFlags=」0″
HcDoDynamicCompression=」TRUE」
HcDoOnDemandCompression=」TRUE」
HcDoStaticCompression=」FALSE」
HcDynamicCompressionLevel=」9″
HcFileExtensions=」htm
html
js
css
txt」
HcOnDemandCompLevel=」10″
HcPriority=」1″
HcScriptFileExtensions=」asp
aspx
asmx
dll
exe」
>
</IIsCompressionScheme>
<IIsCompressionScheme Location =」/LM/W3SVC/Filters/Compression/gzip」
HcCompressionDll=」%windir%/system32/inetsrv/gzip.dll」
HcCreateFlags=」1″
HcDoDynamicCompression=」TRUE」
HcDoOnDemandCompression=」TRUE」
HcDoStaticCompression=」TRUE」
HcDynamicCompressionLevel=」9″
HcFileExtensions=」htm
html
js
css
txt」
HcOnDemandCompLevel=」10″
HcPriority=」1″
HcScriptFileExtensions=」asp
aspx
asmx
dll
exe」
>
</IIsCompressionScheme>
注意「Compression/deflate」和「Compression/gzip」兩個片段都需要修改。動態壓縮等級,HcDynamicCompressionLevel建議設置為「9」
7. 保存並關閉 metabase.xml 文件。
8. 重新啟動 IIS 服務,運行「IISReset」或重新啟動 WWW 服務。
9. 其他:
如果你的伺服器上某一個Web站點不希望啟用 IIS 壓縮,請運行以下腳本
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoDynamicCompression False
如果想增加啟用 HTTP 壓縮的文件類型,請運行以下腳本:
「」 中為文件擴展名,別忘了把原有的擴展名加上。
靜態文件壓縮:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions 「htm」 「html」 「txt」 「doc」 「ppt」 「xls」
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions 「htm」 「html」 「txt」 「doc」 「ppt」 「xls」
動態文件壓縮:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions 「asp」 「aspx」 「asmx」 「dll」 「exe」 「php」
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions 「asp」 「aspx」 「asmx」 「dll」 「exe」 「php」
將site#替換為該 Web 站點的 ID。Web 站點的 ID是什麼到「日誌記錄屬性」中看一下日誌記錄的「日誌文件名」前面的路徑就知道了。
運行以上腳本前務必備份,運行後再次執行「IISReset」使生效.

❸ apache 配置編譯參數status_info ,windowsXP下安裝的apache,配置的具體步驟是什麼

./configure --prefix=/usr/local/apache --enable-headers --enable-so --enable-rewrite --with-mpm=prefork --disable-userdir --enable-suexec --with-suexec-caller=www-data --with-suexec-docroot=/ --with-suexec-gidmin=100 --with-suexec-uidmin=100 --with-suexec-logfile=/usr/local/apache/logs/suexec_log --with-suexec-userdir=public_html

❹ 如何在win10上安裝apache伺服器

在win10上安裝apache伺服器的解決辦法
Apache的下載:
進入如下界面後,選擇第一項ApacheHaus,這是個第三方下載平台,在它的網站下載獨立的Apache會是一個壓縮包
另外四個中,第二個也是獨立的Apache下載地址,另外三個是集成開發環境。
小編選的第一個。
在新的界面中,會發現VC9和VC11字樣,通過閱讀相關內容得知,VC9是指用VS2008編譯的代碼,而VC11是用VS2012編譯的,而用VS2012編譯的無法在windows xp和server 2003中使用。
算是為了兼容性好點吧,小編選的用VC9編譯的64位Apache,選擇下載
至此,下載過程完成!
安裝過程:
安裝過程很簡單,因為是壓縮包,所以,先將其解壓包中的 Apache24 解壓到合適的位置
Apache24名稱可以根據自己情況改,小編改成「Apache」,
並將其放到了D:\application_software\ 這一目錄

配置過程:
找到D:\application_software\Apache\conf\httpd.conf文件,用記事本打開,找到:Define SRVROOT 這一項,將其右方的值改為
當前你Apache安裝存放的目錄地址,如下小編所示:
繼續找,找到:Listene 80
若你的80埠被佔用(可在cmd下用命令netstat -a查看),則將80埠改為別的
保存httpd.conf文件。
接下來需要配置安裝Apache的主服務,有了它,Apache才可啟動:
打開CMD窗口,輸入:"D:\application_software\Apache\bin\httpd.exe" -k install -n apache
切記,包含引號。該命令的意思是,安裝apache服務,並將該服務名稱命名為apache(你也可以改成別的),回車。
服務安裝完畢,完畢後,會自動測試,若有問題,窗口會提示錯誤,此時,請根據錯誤自行排查。
正常安裝完畢
其中,Errors reported here must be corrected before the service can be started.意思是,若該句話後面有錯誤信息,則表示服務安裝失敗,需要先改正錯誤。若沒有,則成功。
在安裝目錄中,找到D:\application_software\Apache\bin\ApacheMonitor.exe可執行文件,雙擊運行,桌面右下角會出現圖標,雙擊打開窗口界面,會看到如圖所示:
點擊左側start,啟動apache服務。
補充句,從該界面可看出,其可以手動控制服務的開啟與關閉,為了節省資源,關閉Apache伺服器的時候,請先點擊「Stop」關閉apache服務。
當然,該服務也可以在windows系統服務中關閉(建議設置成手動)
下圖顯示的是該服務成功顯示的狀態:
打開瀏覽器,輸入訪問
若出現如下圖所示界面,則Apache伺服器的基本配置完畢,此時apache伺服器已經可以運行,更具體的配置,需要使用者自行去參悟了。

補充:apache服務的卸載
若Apache伺服器軟體不想用了,想要卸載,需要先卸載apache服務(切記,若直接刪除安裝路徑的文件夾,會有殘余文件在電腦,可能會造成不必要的麻煩)
在CMD命令窗口,輸入如下(建議先停止服務再刪除):
sc delete apache
apache是Apache伺服器的服務名

❺ Apache可移植運行庫apr在windows下怎麼編譯

如果是開發者則使用此選項,--with-included-apr利於連接apache的代碼或者是調試apache,其消除了由於版本或者編譯中跟APR或者APR-util代碼產生的不匹配; 如果從子版本編譯apache,要先運行buildconf(需要Python,GNU autoconf和libtool)

❻ windows如何啟動Apache

1、首先我們打開電腦桌面,右擊「此電腦」,點擊「管理」。

❼ 跪求..在windows系統下怎樣使用apache

Apache伺服器的設置文件位於/usr/local/apache/conf/目錄下,傳統上使用三個配置文件httpd.conf,access.conf和srm.conf,來配置Apache伺服器的行為。

httpd.conf提供了最基本的伺服器配置,是對守護程序httpd如何運行的技術描述;srm.conf是伺服器的資源映射文件,告訴伺服器各種文件的MIME類型,以及如何支持這些文件;access.conf用於配置伺服器的訪問許可權,控制不同用戶和計算機的訪問限制;這三個配置文件控制著伺服器的各個方面的特性,因此為了正常運行伺服器便需要設置好這三個文件。

除了這三個設置文件之外,Apache還使用mime.types文件用於標識不同文件對應的MIME類型, magic文件設置不同MIME類型文件的一些特殊標識,使得Apache 伺服器從文檔後綴不能判斷出文件的MIME 類型時,能通過文件內容中的這些特殊標記來判斷文檔的MIME類型。

bash-2.02$ ls -l /usr/local/apache/conf

total 100

-rw-r--r-- 1 root wheel 348 Apr 16 16:01 access.conf

-rw-r--r-- 1 root wheel 348 Feb 13 13:33 access.conf.default

-rw-r--r-- 1 root wheel 30331 May 26 08:55 httpd.conf

-rw-r--r-- 1 root wheel 29953 Feb 13 13:33 httpd.conf.default

-rw-r--r-- 1 root wheel 12441 Apr 19 15:42 magic

-rw-r--r-- 1 root wheel 12441 Feb 13 13:33 magic.default

-rw-r--r-- 1 root wheel 7334 Feb 13 13:33 mime.types

-rw-r--r-- 1 root wheel 383 May 13 17:01 srm.conf

-rw-r--r-- 1 root wheel 357 Feb 13 13:33 srm.conf.default

事實上當前版本的Apache將原來httpd.conf、srm.conf與access.conf中的所有配置參數均放在了一個配置文件httpd.conf中,只是為了與以前的版本兼容的原因(使用這三個設置文件的方式來源於NCSA-httpd),才使用三個配置文件。而提供的access.conf和srm.conf文件中沒有具體的設置。

由於在新版本的Apache中,所有的設置都被放在了httpd.conf中,因此只需要調整這個文件中的設置。以下使用預設提供的httpd.conf為例,解釋Apache伺服器的各個設置選項。然而不必因為它提供設置的參數太多而煩惱,基本上這些參數都很明確,也可以不加改動運行Apache伺服器。但如果需要調整Apache伺服器的性能,以及增加對某種特性的支持,就需要了解這些設置參數的含義。
關於Apache伺服器的性能,在Internet上存在很大的爭議,基本上使用Apache的使用者幾乎都不懷疑它的優秀性能,Apache也支撐了很多著名的高負載的網站,但是在商業機構的評測中,Apache往往得分不高。很多人指出,在這些評測中,商業Web伺服器及其操作系統往往由其專業公司的工程師進行過性能調整,而Free 的操作系統和Web伺服器往往就使用其預設配置或僅僅作很小的更改。需要指出的是,除了操作系統的性能調整之外,Apache 伺服器本身的預設配置絕不是最優化和最高效的,而是要適應幾乎所有種類操作系統、所有種類硬體下的設置,多平台的軟體不可能為特定平台和特定硬體提供最優化的預設配置。因此要使用Apache的時候,性能調整是必不可少的。

在商業評測中忽略了的另一個事實是,評測時往往對不同種類的功能進行比較,例如使用Apache的標准CGI 的性能與ISAPI,NSAPI等伺服器端API比較,事實上Apache伺服器與此可以比較的功能為modperl ,FastCGI,與ASP類似的功能為PHP等等,只不過由於Apache的開放模式,這些功能是由獨立的開發組,作為獨立的模塊來實現的。但是在評測中,測試人員沒有加入相應的模塊評測其性能。

HTTP守護進程的運行參數

httpd.conf中首先定義了一些httpd守護進程運行時需要的參數,來決定其運行方式和運行環境。

ServerType standalone

ServerType定義伺服器的啟動方式,預設值為獨立方式standalone,httpd

伺服器將由其本身啟動,並駐留在主機中監視連接請求。在Linux下將在啟動文件 /etc/rc.d/rc.local/init.d/apache中自動啟動Web伺服器,這種方式是推薦設置。

啟動Apache伺服器的另一種方式是inet方式,使用超級伺服器inetd監視連接請求並啟動伺服器。當需要使用inetd啟動方式時,便需要更改為這個設置,並屏蔽/etc/rc.d/rc.local/init.d/apache文件,以及更改/etc/inetd.conf並重起inetd,那麼Apache就能從inetd中啟動了。

兩種方式的區別是獨立方式是由伺服器自身管理自己的啟動進程,這樣在啟動時能立即啟動伺服器的多個副本,每個副本都駐留在內存中,一有連接請求不需要生成子進程就可以立即進行處理,對於客戶瀏覽器的請求反應更快,性能較高。而 inetd方式要由inetd發現有連接請求後才去啟動http伺服器,由於inetd 要監聽太多的埠,因此反應較慢、效率較低,但節約了沒有連接請求時Web伺服器佔用的資源。因此inetd方式只用於偶爾被訪問並且不要求訪問速度的伺服器上。事實上inetd方式不適合http的突發和多連接的特性,因為一個頁面可能包含多個圖象,而每個圖象都會引起一個連接請求,即使雖然訪問人數造成教少,但瞬間的連接請求並不少,這就受到inetd性能的限制,甚至會影響由inetd啟動的其他伺服器程序。
ServerRoot "/usr/local"

ServerRoot用於指定守護進程httpd的運行目錄,httpd在啟動之後將自動將進程的當前目錄改變為這個目錄,因此如果設置文件中指定的文件或目錄是相對路徑,那麼真實路徑就位於這個ServerRoot定義的路徑之下。

由於httpd會經常進行並發的文件操作,就需要使用加鎖的方式來保證文件操作不沖突,由於NFS文件系統在文件加鎖方面能力有限,因此這個目錄應該是本地磁碟文件系統,而不應該使用NFS文件系統。

#LockFile /var/run/httpd.lock

LockFile參數指定了httpd守護進程的加鎖文件,一般不需要設置這個參數, Apache伺服器將自動在ServerRoot下面的路徑中進行操作。但如果ServerRoot為NFS文件系統,便需要使用這個參數指定本地文件系統中的路徑。

PidFile /var/run/httpd.pid

PidFile指定的文件將記錄httpd守護進程的進程號,由於httpd能自動復制其自身,因此系統中有多個httpd進程,但只有一個進程為最初啟動的進程,它為其他進程的父進程,對這個進程發送信號將影響所有的httpd進程。PidFILE定義的文件中就記錄httpd父進程的進程號。

ScoreBoardFile /var/run/httpd.scoreboard

httpd使用ScoreBoardFile來維護進程的內部數據,因此通常不需要改變這個參數,除非管理員想在一台計算機上運行幾個Apache伺服器,這時每個Apache伺服器都需要獨立的設置文件htt pd.conf,並使用不同的ScoreBoardFile。

#ResourceConfig conf/srm.conf

#AccessConfig conf/access.conf

這兩個參數ResourceConfig和AccessConfig,就用於和使用 srm.conf 和 access.conf 設置文件的老版本Apache兼容。如果沒有兼容的需要,可以將對應的設置文件指定為/dev/null,這將表示不存在其他設置文件,而僅使用httpd.conf 一個文件來保存所有的設置選項。

Timeout 300

Timeout定義客戶程序和伺服器連接的超時間隔,超過這個時間間隔(秒)後伺服器將斷開與客戶機的連接。

KeepAlive On

在HTTP 1.0中,一次連接只能作傳輸一次HTTP請求,而KeepAlive參數用於支持HTTP 1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個HTTP請求。雖然只有較新的瀏覽器才支持這個功能,但還是打開使用這個選項。

MaxKeepAliveRequests 100

MaxKeepAliveRequests為一次連接可以進行的HTTP請求的最大請求次數。將其值設為0將支持在一次連接內進行無限次的傳輸請求。事實上沒有客戶程序在一次連接中請求太多的頁面,通常達不到這個上限就完成連接了。

KeepAliveTimeout 15

KeepAliveTimeout測試一次連接中的多次請求傳輸之間的時間,如果伺服器已經完成了一次請求,但一直沒有接收到客戶程序的下一次請求,在間隔超過了這個參數設置的值之後,伺服器就斷開連接。
MinSpareServers 5MaxSpareServers 10

在使用子進程處理HTTP請求的Web伺服器上,由於要首先生成子進程才能處理客戶的請求,因此反應時間就有一點延遲。但是,Apache伺服器使用了一個特殊技術來擺脫這個問題,這就是預先生成多個空餘的子進程駐留在系統中,一旦有請求出現,就立即使用這些空餘的子進程進行處理,這樣就不存在生成子進程造成的延遲了。在運行中隨著客戶請求的增多,啟動的子進程會隨之增多,但這些伺服器副本在處理完一次HTTP請求之後並不立即退出,而是停留在計算機中等待下次請求。但是空餘的子進程副本不能光增加不減少,太多的空餘子進程沒有處理任務,也佔用伺服器的處理能力,因此也要限制空餘副本的數量,使其保持一個合適的數量,使得既能及時回應客戶請求,又能減少不必要的進程數量。

因此就可以使用參數MinSpareServers來設置最少的空餘子進程數量, 以及使用參數MaxSpareServers 來限制最多的空閑子進程數量,多餘的伺服器進程副本就會退出。根據伺服器的實際情況來進行設置,如果伺服器性能較高,並且也被頻繁訪問,就應該增大這兩個參數的設置。對於高負載的專業網站,這兩個值應該大致相同,並且等同於系統支持的最多伺服器副本數量,也減少不必要的副本退出。

StartServers 5

StartServers參數就是用來設置httpd啟動時啟動的子進程副本數量,這個參數與上面定義的MinSpareServers和MaxSpareServers參數相關,都是用於啟動空閑子進程以提高伺服器的反應速度的。這個參數應該設置為前兩個值之間的一個數值,小於MinSpareServers和大於MaxS pareServers都沒有意義。
MaxClients 150

在另一方面,伺服器的能力畢竟是有限的,不可能同時處理無限多的連接請求,因此參數Maxclient s就用於規定伺服器支持的最多並發訪問的客戶數,如果這個值設置得過大,系統在繁忙時不得不在過多的進程之間進行切換來為太多的客戶進行服務,這樣對每個客戶的反應就會減慢,並降低了整體的效率。如果這個值設置的較小,那麼系統繁忙時就會拒絕一些客戶的連接請求。當伺服器性能較高時,就可以適當增加這個值的設置。對於專業網站,應該使用提高伺服器效率的策略,因此這個參數不能超過硬體本身的限制,如果頻繁出現拒絕訪問現象,就說明需要升級伺服器硬體了。對於非專業網站,不太在意對客戶瀏覽器的反應速度,或者認為反應速度較慢也比拒絕連接好,就也可以略微超過硬體條件來設置這個參數。

這個參數限制了MinSpareServers和MaxSpareServers的設置,它們不應該大於這個參數的設置。

MaxRequestsPerChild 30

使用子進程的方式提供服務的Web服務,常用的方式是一個子進程為一次連接服務,這樣造成的問題就是每次連接都需要生成、退出子進程的系統操作,使得這些額外的處理過程占據了計算機的大量處理能力。因此最好的方式是一個子進程可以為多次連接請求服務,這樣就不需要這些生成、退出進程的系統消耗,Apache就採用了這樣的方式,一次連接結束後,子進程並不退出,而是停留在系統中等待下一次服務請求,這樣就極大的提高了性能。

但由於在處理過程中子進程要不斷的申請和釋放內存,次數多了就會造成一些內存垃圾,就會影響系統的穩定性,並且影響系統資源的有效利用。因此在一個副本處理過一定次數的請求之後,就可以讓這個子進程副本退出,再從原始的httpd進程中重新復制一個干凈的副本,這樣就能提高系統的穩定性。這樣,每個子進程處理服務請求次數由MaxRe questPerChild定義。 預設的設置值為30,這個值對於具備高穩定性特點的Linux系統來講是過於保守的設置,可以設置為1000甚至更高,設置為0支持每個副本進行無限次的服務處理。

#Listen 3000

#Listen 12.34.56.78:80

#BindAddress *

Listen參數可以指定伺服器除了監視標準的80埠之外,還監視其他埠的HTTP請求。由於FreeBSD系統可以同時擁有多個IP地址,因此也可以指定伺服器只聽取對某個BindAddress< /B>的IP地址的HTTP請求。如果沒有配置這一項,則伺服器會回應對所有IP的請求。

即使使用了BindAddress參數,使得伺服器只回應對一個IP地址的請求,但是通過使用擴展的Listen參數,仍然可以讓HTTP守護進程回應對其他IP地址的請求。此時Listen參數的用法與上面的第二個例子相同。這種比較復雜的用法主要用於設置虛擬主機。此後可以用VirtualHost參數定義對不同IP的虛擬主機,然而這種用法是較早的HTTP 1.0標准中設置虛擬主機的方法,每針對一個虛擬主機就需要一個IP地址,實際上用處並不大。在HTTP 1.1中,增加了對單IP地址多域名的虛擬主機的支持,使得虛擬主機的設置具備更大的意義。

LoadMole mime_magic_mole libexec/apache/mod_mime_magic.so

LoadMole info_mole libexec/apache/mod_info.so

LoadMole speling_mole libexec/apache/mod_speling.so

LoadMole proxy_mole libexec/apache/libproxy.so

LoadMole rewrite_mole libexec/apache/mod_rewrite.so

LoadMole anon_auth_mole libexec/apache/mod_auth_anon.so

LoadMole db_auth_mole libexec/apache/mod_auth_db.so

LoadMole digest_mole libexec/apache/mod_digest.so

LoadMole cern_meta_mole libexec/apache/mod_cern_meta.so

LoadMole expires_mole libexec/apache/mod_expires.so

LoadMole headers_mole libexec/apache/mod_headers.so

LoadMole usertrack_mole libexec/apache/mod_usertrack.so

LoadMole unique_id_mole libexec/apache/mod_unique_id.so

ClearMoleList

AddMole mod_env.c

AddMole mod_log_config.c

AddMole mod_mime_magic.c

AddMole mod_mime.c

AddMole mod_negotiation.c

AddMole mod_status.c

AddMole mod_info.c

AddMole mod_include.c

AddMole mod_autoindex.c

AddMole mod_dir.c

AddMole mod_cgi.c

AddMole mod_asis.c

AddMole mod_imap.c

AddMole mod_actions.c

AddMole mod_speling.c

AddMole mod_userdir.c

AddMole mod_proxy.c

AddMole mod_alias.c

AddMole mod_rewrite.c

AddMole mod_access.c

AddMole mod_auth.c

AddMole mod_auth_anon.c

AddMole mod_auth_db.c

AddMole mod_digest.c

AddMole mod_cern_meta.c

AddMole mod_expires.c

AddMole mod_headers.c

AddMole mod_usertrack.c

AddMole mod_unique_id.c

AddMole mod_so.c

AddMole mod_setenvif.c
Apache伺服器的一個重要特性就是其模塊化的結構,這不但表現為其能在編譯時能通過新的模塊加入新的功能,還表現為其模塊可以動態載入入http服務程序中,而不必載入不需要的模塊。使用Apache的動態載入模塊只需要設置好Load Mole和AddMole參數就可以了,這種特性就是Apache的 DSO(Dynamic Shared Object)特性,然而要想充分使用DSO特性仍然不是一個簡單的事情,不適當的改動這里的設置就可能造成伺服器不能正常啟動。因此如果不是要增加或減少伺服器提供的功能,就不要改動這里的設置。

上面這些列表就顯示了Linux下的預設Apache伺服器支持的模塊,事實上很多模塊是沒有必要的,不必要模塊不會被載入內存。模塊可以靜態連接到pache 伺服器內部,也可以這樣動態載入,將Apache的特性都編譯成動態可載入模塊是該Port的做法,而不是Apache的預設做法,這樣就以犧牲很小的性能的同時,帶來極大的靈活性。

因而動態可載入的能力還是對性能有輕微的影響,因此可以重新編譯Apache,將自己所需要的功能編譯進Apache 伺服器內部,可以讓系統顯得更為干凈,效率也有輕微的提高。通常僅僅為了這一個目的就重新編譯Apache是沒有必要的,如果需要增加其他特性而重新編譯Apache,不妨在增加其他模塊的同時將所有的模塊都靜態連接入Apache 伺服器。有的使用者更喜歡動態載入模塊,那麼也不妨全部都使用動態載入模塊。

這些模塊都被放置到/usr/local/apache/libexec/目錄下, 每個模塊對應Apache伺服器的一個特性。詳細解釋每個模塊的功能需要相當多的篇幅,其中比較重要的特性將在後面相應的地方中進行解釋,而具體每個模塊的功能及用法就需要查看Apache的文檔。

#ExtendedStatus On

Apache伺服器可以通過特殊的HTTP請求,來報告自身的運行狀態,打開這個ExtendedStatus 參數可以讓伺服器報告更全面的運行狀態信息。

❽ 如何在Windows Server 上通過Apache 架設Web 伺服器 (請簡述)

這里告訴Apache把配置文件保存在/etc/httpd目錄中,其它文件(例如HTML手冊文檔、CGI-BIN目錄)都保存在 /home/httpd目錄下。也告訴Apache將最常用的模塊作為DSO模塊編譯。DSO就是Dynamic Shared Object的縮寫。通過DSO支持的模式編譯Apache,能夠隨時從Apache裡面增加和移除模塊,而不需要重新編譯它,具體的模塊見下文。 第四,在執行./configure 之後,配置腳本會自動生成 Makefile。這時,我們就可以開始編譯源碼了。 #make源碼編譯完成後,就要使用make install安裝Apache至預設的目錄下。當然也可以通過以下命令: #rpm -ivh apache*.rpm 安裝Apache的RPM包。這種方法較為簡單,因此不再詳細介紹。 配置安裝完Apache後,開始它的配置工作。在其主目錄下有httpd.conf、access.conf、srm.conf 及Magic等四個文件,其中httpd.conf是主要的配置文件,access.conf是訪問控制配置文件,srm.conf 則是對於Web主機的文件資源的配置文件。Magic是針對mime模塊的設置,我們一般不改動這個文件。 在Apache運行的時候,它先調用httpd.conf,接著是srm.conf,最後是access.conf。在較新的Apache發行版本中,它建議srm.conf和access.conf 兩個文件的內容為空,把設置選項完全存放在httpd.conf之中,這樣會更加有利於伺服器的安全性。 下面就以httpd.conf來開始我們神奇的Web網路世界。 1.全局環境變數的設置 httpd.conf是以全局環境變數的設置開始的。我們將要一步步介紹其具體的參數。 ServerType standalone ServerRoot "/etc/httpd" 第一行「ServerType」指令,說明Apache是以一個獨立的(Standalone)守護進程的身份運行於後台,還是由另外的後台守護進程(Xinetd)在接到HTTP請求的時候喚醒。對於正式的互聯網站點來說,standalone可以提供比xinetd方式更快的客戶端響應速度。因此我們選用standalone模式。第二行代碼介紹了該伺服器配置文件的相對根目錄,一般是/etc/httpd,我們在安裝時已經設置好。請注意,不要在此目錄最後加「/」。 LockFile /var/lock/httpd.lock PidFile /var/run/httpd.pid ScoreBoardFile /var/run/httpd.scoreboard LockFile在安裝Apache時指定選用了USE_FCNTL _SERIALIZED_ACCEPT,USE_FLOCK_SERIALIZED_ACCEPT等參數。作為Apache連接出現錯誤的記錄文件,它會把進程的PID值自動加在該文件中。請注意,該文件應保存在本地的硬碟中。PidFile記錄著每次伺服器運行時的進程號。ScoreBoardFile是某些特定系統上服務程序中父子進程通訊記錄的文件。 #ResourceConfig conf/srm.conf #AccessConfig conf/access.conf 以上兩項是指定伺服器資源及控制許可權的文件,在默認情況下並不使用它們。

❾ windows下怎樣編譯Apache2.4的源代碼

從它運行需要vc庫2012來看,起碼vc2012

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:968
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:676
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:828
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829