国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Apache安裝配置與優(yōu)化
本文針對apache  web服務(wù)器的安裝配置收集有效的一些經(jīng)驗(yàn)和方法,用于交流。
 

1.<!--[endif]-->Apache安裝配置

Apache的安裝,考慮只用于Tomcat的前段代理,處理圖片和靜態(tài)文件的請求,并把動(dòng)態(tài)請求轉(zhuǎn)發(fā)到tomcat服務(wù)處理。本文使用編譯安裝方式,把跟需求無關(guān)的模塊關(guān)閉,只使用最小的模塊編譯,提高軟件性能。

配置編譯命令請參考:

http://www.uplinux.com/download/doc/apache/ApacheManual/install.html#configure

編譯參數(shù)說明:

編譯和包含是兩個(gè)不同的概念。編譯是指這個(gè)模塊被編譯了,要想使用它,只用簡單的修改httpd.conf加上LoadModule xxx_module  libexec/mod_xxx.so 明確指出。

用以前命令可以查看缺省時(shí)已編譯和包含進(jìn)去的模塊。不用顯式的--enable-MODULE[=shared] LoadModule 操作。就已經(jīng)可以使用的。

  1. core.cApache HTTP 服務(wù)器提供的核心功能。必須要有的。
  2. mod_access.c:安全認(rèn)證大大降低訪問速度,建議disable it .
  3. mod_auth.c :安全認(rèn)證大大降低訪問速度,建議disable it .
  4. mod_include.cserver side include已經(jīng)過時(shí)了,建議disable it .
  5. mod_log_config.c:用于定制log格式.最好保留.
  6. mod_env.c:修改傳送到 CGI 腳本和 SSI 頁面的系統(tǒng)環(huán)境(變量)。一般說來,可以不需要。
  7. mod_setenvif.c :用戶設(shè)置環(huán)境變量和認(rèn)證相關(guān),如果沒有使用壓縮輸出,建議disable it .
  8. prefork.cImplements a non-threaded, pre-forking web server。參考下面的mpm介紹。
  9. http_core.cApache HTTP 服務(wù)器提供的核心功能。必須要有的。
  10. mod_mime.c:用于增加文件應(yīng)用的關(guān)聯(lián)。最好保留。
  11. mod_status.cProvides information on server activity and performance 。一般說來,可以不需要。
  12. mod_autoindex.c:不需要將沒有缺省index文件的目錄下所有文件列出,建議disable it .
  13. mod_asis.c:盡量不使用CGI:一直是Apache安全問題最多的地方,建議disable it .
  14. mod_cgi.c:盡量不使用CGI:一直是Apache安全問題最多的地方,建議disable it .
  15. mod_negotiation.c :內(nèi)容協(xié)商,以根據(jù)瀏覽器提供的設(shè)置選擇不同媒介類型、語言、字符集和編碼的最佳表現(xiàn),還有對來自瀏覽器的不完整內(nèi)容協(xié)商信息作智能處理的能力。一般說來,可以不需要。
  16. mod_dir.c:用于缺省index文件:index.php等。我們現(xiàn)在的應(yīng)用不需要這個(gè)??辞闆r而定。
  17. mod_imap.c:盡量不使用CGI:一直是Apache安全問題最多的地方,建議disable it .
  18. mod_actions.c:盡量不使用CGI:一直是Apache安全問題最多的地方,建議disable it
  19. mod_userdir.c:比如:需要在~/username/下調(diào)試php.可用可不用.建議disable it .
  20. mod_alias.c:比如:需要將以前的URL進(jìn)行轉(zhuǎn)向或者需要使用CGI script-alias.建議disable it .
  21. mod_so.c :如果編譯中包含有任何動(dòng)態(tài)模塊,則mod_so模塊會被自動(dòng)包含進(jìn)核心。如果希望核心能夠裝載DSO,而不實(shí)際編譯任何動(dòng)態(tài)模塊,需要明確指定--enable-so。我們的應(yīng)用使用靜態(tài)編譯,不需要它。建議disable it .
  22. CC="pgcc" CFLAGS="-O2" :編譯器參數(shù)優(yōu)化
  23. --profixapache的安裝目錄,默認(rèn)是安裝在/usr/local/apache
$ cd /tools
$ tar –xzvf apache
-2.0.59.tar.gz
$ cd httpd2.
0.59
$ CC
="pgcc" CFLAGS="-O2" \
.
/configure --prefix=/usr/apache-2.0.59 \
--disable-access \
--disable-auth \
--disable-include \
--disable-env \
--disable-status \
--disable-autoindex \
--disable-asis \
--disable-cgi \
--disable-negotiation \
--disable-imap \
--disable-actions \
--disable-userdir \
--disable-alias \
--enable-deflate \
--enable-headers \
--enable-setenvif \
--enable-so
$ make
$ make install

安裝完成后,因?yàn)榫幾g關(guān)閉了很多默認(rèn)的功能模塊,所以直接使用發(fā)布的默認(rèn)配置是不能啟動(dòng)服務(wù)器的,需要作調(diào)整。

設(shè)apache的安裝目錄為$APACHE_HOME

備份默認(rèn)配置文件$APACHE_HOME/conf/httpd.conf,然后使用highperformance.conf最為配置文件

 

$ cd $APACHE_HOME/conf/
$ mv httpd.conf httpd.conf_bak
$ cp highperformance.conf httpd.conf
$ ..
/bin/apachectr start

 

如果啟動(dòng)失敗,請屏蔽調(diào)httpd.conf中的mod_access相關(guān)命令,如Order等,關(guān)于目錄權(quán)限的控制在本例中可以使用變通方式解決,使用沒有加載目錄權(quán)限控制功能。

啟動(dòng)驗(yàn)證,訪問http://$IP/,如果正常顯示頁面,表示成功。

<!--[if !supportLists]-->2.<!--[endif]-->PMP

MPMMulti-Processing Modules,多道處理模塊)

指定MPM的方法

$ ./configure --help|grep mpm

顯示如下:

--with-mpm=MPM

Choose the process model for Apache to use.

MPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}

主要闡述prefork,如果不用“--with-mpm”顯式指定某種MPM,prefork就是Unix平臺上缺省的MPM,prefork本身并沒有使用到線程,2.0版使用它是為了與1.3版保持兼容性;prefork用單獨(dú)的子進(jìn)程來處理不同的請求,進(jìn)程之間是彼此獨(dú)立的,這也使其成為最穩(wěn)定的MPM之一。

prefork的工作原理是,控制進(jìn)程在最初建立“StartServers”個(gè)子進(jìn)程后,為了滿足MinSpareServers設(shè)置的需要?jiǎng)?chuàng)建一個(gè)進(jìn)程,等待一秒鐘,繼續(xù)創(chuàng)建兩個(gè),再等待一秒鐘,繼續(xù)創(chuàng)建四個(gè)……如此按指數(shù)級增加創(chuàng)建的進(jìn)程數(shù),最多達(dá)到每秒32個(gè),直到滿足MinSpareServers設(shè)置的值為止。這就是預(yù)派生(prefork)的由來。這種模式可以不必在請求到來時(shí)再產(chǎn)生新的進(jìn)程,從而減小了系統(tǒng)開銷以增加性能。

下面是prefork的默認(rèn)配置段:

<IfModule prefork.c>

StartServers         5 

MinSpareServers      5 

MaxSpareServers     10 

MaxClients         150 

MaxRequestsPerChild  0

</IfModule>

MinSpareServers

設(shè)置了最小的空閑進(jìn)程數(shù)。

MaxSpareServers

設(shè)置了最大的空閑進(jìn)程數(shù),如果空閑進(jìn)程數(shù)大于這個(gè)值,Apache會自動(dòng)kill掉一些多余進(jìn)程。這個(gè)值不要設(shè)得過大,但如果設(shè)的值比MinSpareServers小,Apache會自動(dòng)把其調(diào)整為MinSpareServers+1。如果站點(diǎn)負(fù)載較大,可考慮同時(shí)加大MinSpareServersMaxSpareServers。

MaxClients

MaxClients是這些指令中最為重要的一個(gè),設(shè)定的是Apache可以同時(shí)處理的請求,是對Apache性能影響最大的參數(shù)。其缺省值150是遠(yuǎn)遠(yuǎn)不夠的,如果請求總數(shù)已達(dá)到這個(gè)值(可通過ps -ef|grep http|wc -l來確認(rèn)),那么后面的請求就要排隊(duì),直到某個(gè)已處理請求完畢。這就是系統(tǒng)資源還剩下很多而HTTP訪問卻很慢的主要原因。系統(tǒng)管理員可以根據(jù)硬件配置和負(fù)載情況來動(dòng)態(tài)調(diào)整這個(gè)值。雖然理論上這個(gè)值越大,可以處理的請求就越多,但Apache默認(rèn)的限制不能大于256(在2.0中源于#define DEFAULT_SERVER_LIMIT 256)。如果把這個(gè)值設(shè)為大于256,那么Apache將無法起動(dòng)。事實(shí)上,256對于負(fù)載稍重的站點(diǎn)也是不夠的。在Apache 1.3中,這是個(gè)硬限制。如果要加大這個(gè)值,必須在“configure”前手工修改的源代碼樹下的src/include/httpd.h中查找256,就會發(fā)現(xiàn)“#define HARD_SERVER_LIMIT 256這行。把256改為要增大的值(如4000),然后重新編譯Apache即可。在Apache 2.0中新加入了ServerLimit指令,使得無須重編譯Apache就可以加大MaxClients。ServerLimit使用也是單獨(dú)添加一行在這就可以了。如果ServerLimit的值再這定義超過了20000,就要修改server/mpm/prefork/prefork.c  #define MAX_SERVER_LIMIT 20000。將20000改成更大的值。

 

MaxRequestsPerChild

設(shè)置的是每個(gè)子進(jìn)程可處理的請求數(shù)。每個(gè)子進(jìn)程在處理了“MaxRequestsPerChild”個(gè)請求后將自動(dòng)銷毀。0意味著無限,即子進(jìn)程永不銷毀。雖然缺省設(shè)為0可以使每個(gè)子進(jìn)程處理更多的請求,但如果設(shè)成非零值也有兩點(diǎn)重要的好處:可防止意外的內(nèi)存泄漏;在服務(wù)器負(fù)載下降的時(shí)侯會自動(dòng)減少子進(jìn)程數(shù)。

 

Apache+jk2的每個(gè)進(jìn)程的的大小是2M,本系統(tǒng)預(yù)計(jì)分配給apache的內(nèi)存為400M,那么根據(jù)公式:

apache_max_process_with_good_perfermance < (400M / 2m) * 2 = 400
apache_max_process
400 * 1.5 = 700

即最佳性能設(shè)置為:400

 

按照上面的分析,本系統(tǒng)的的prefork.c配置為:

<IfModule prefork.c>

ServerLimit      
400

MaxClients       
400

StartServers     
5

MinSpareServers  
5

MaxSpareServers 
10

</IfModule>

<!--[if !supportLists]-->3.<!--[endif]-->gzip壓縮輸出

通過加入mode_deflate模塊對服務(wù)器輸出壓縮傳輸,可以減小輸出壓力,節(jié)約帶寬。

可以減少40%左右的流量,減少機(jī)器用于傳輸?shù)呢?fù)載.

壓縮輸出的配置需要以下三個(gè)模塊功能支持

mod_setenvif.c

mod_deflate

mod_headers

具體說明請參考:http://www.uplinux.com/download/doc/apache/ApacheManual/mod/

配置

參考:http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_deflate.html

 

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css

# Compress everything except images

<Location />

# Insert filter

SetOutputFilter DEFLATE

# Netscape 4.x has some problems


BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems

BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don‘t compress images

SetEnvIfNoCase Request_URI \

\.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don‘t deliver the wrong content

Header append Vary User-Agent env=!dont-vary

</Location>
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Apache并發(fā)連接數(shù)優(yōu)化設(shè)置[zt]
apache調(diào)優(yōu)
Apache2.0運(yùn)行模型分析及性能調(diào)整
Apache之三種工作模式和配置性能優(yōu)化
關(guān)于 Apache 的 25 個(gè)初中級面試題
Apache并發(fā)數(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服