對話企業(yè)家陶利——做企業(yè)靠 19年前,他是一個程序員,初出茅廬,經(jīng)驗不足,憑借一己之力闖世界;
省市領導蒞臨億恩科技推進電 12月22日上午,由河南省商務廳,鄭州市商務局有關領導蒞臨河南省億
怎樣選擇服務器托管商?如何 互聯(lián)網(wǎng)開展至今,服務器方面的受到越來越多人的注重,假如要停止服務器
眾所周知,Apache是一個跨平臺的、采用模塊化設計的服務器。為了應對不同的平臺和不同的環(huán)境產生的各種不同的需求,也為了在具體的平臺或環(huán)境下達到最佳的效果,Apache在web服務器的基礎功能方面(端口綁定、接收請求等)也同樣采用了模塊化設計,這個Apache的核心模塊就叫做多路處理模塊(Multi-Processing Module,簡稱MPM)。
如果我們想要知道某個Apache內部使用的是何種MPM模塊,我們可以以命令行的方式進入Apache安裝目錄\bin,然后鍵入命令httpd -l,即可查看到當前Apache內部使用的何種MPM模塊
1.啟用MPM模塊配置文件
在Apace安裝目錄/conf/extra目錄中有一個名為httpd-mpm.conf的配置文件。該文件主要用于進行MPM模塊的相關配置。不過,在默認情況下,Apache的MPM模塊配置文件并沒有啟用。因此,我們需要在httpd.conf文件中啟用該配置文件,如下所示:
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf (去掉該行前面的注釋符號"#")
2.修改MPM模塊配置文件中的相關配置
在啟動MPM模塊配置文件后,我們就可以使用文本編輯器打開該配置文件,我們可以看到,在該配置文件中有許多<IfModule>配置節(jié)點,如下圖所示:
對應的配置參數(shù)作用如下:
ThreadsPerChild每個子進程的最大并發(fā)線程數(shù)。MaxRequestsPerChild每個子進程允許處理的請求總數(shù)。如果累計處理的請求數(shù)超過該值,該子進程將會結束(然后根據(jù)需要確定是否創(chuàng)建新的子進程),該值設為0表示不限制請求總數(shù)(子進程永不結束)。該參數(shù)建議設為非零的值,可以帶來以下兩個好處:
備注:ServerLimit表示Apache允許創(chuàng)建的最大進程數(shù)。
值得注意的是,Apache在編譯時內部有一個硬限制ServerLimit 20000(對于mpm_prefork模塊為ServerLimit
200000)。你不能超越這個限制。
使用這個指令時要特別當心。如果將ServerLimit設置成一個高出實際需要許多的值,將會有過多的共享內存被分配。如果將ServerLimit和MaxClients設置成超過系統(tǒng)的處理能力,Apache可能無法啟動,或者系統(tǒng)將變得不穩(wěn)定。
注意:在配置相關參數(shù)時,請先保證服務器具備足夠的硬件性能(例如:CPU、內存等)。 如果發(fā)現(xiàn)自啟動后,隨著服務器的運行時間增加,服務器的內存占用也隨之增加,可能是程序中出現(xiàn)內存泄露,請向下調整參數(shù)MaxRequestsPerChild的值以降低內存泄露帶來的影響,然后盡快找出程序中的問題之所在。