紅色字體為需要記憶快捷鍵ctrl+shift+Memory,藍色為注解字體快捷鍵ct+sh+Caption,黃色是為紅色字體注解,腳本文件快捷鍵ct+sh+Shell
安裝完成apache后,作如下調整:
[root@centos55 ~]#chkconfig --level 235 httpd on #235級別上面啟動(dòng)httpd服務(wù),然后可以看到/etc/rc3.d下面已經(jīng)有了相關(guān)文件
[root@centos55 sysconfig]# netstat –tln #查看對外開(kāi)放端口號,t-tcp指明協(xié)議,l-listening指明正在監聽(tīng)的端口,n-number列出端口的數字而不是協(xié)議
[root@centos55 ~]# vi /etc/sysconfig/iptables # 這里是防火墻的配置文件內容
*filter # filter表格
:INPUT DROP [0:0] #input全部丟棄
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0] #output全部接收
-A INPUT -p tcp --dport 22-j ACCEPT #-A append 添加 –p protocol 協(xié)議 –dport 目標端口號 -j jump 意思是所有input中協(xié)議為tcp目標端口為22的數據包接收
-A INPUT -p tcp --dport 80 -j ACCEPT #input中tcp協(xié)議目標端口80的數據包接收
-A INPUT -p udp --sport 53 -j ACCEPT #允許域名解析結果進(jìn)來(lái)-A INPUT -p icmp -j ACCEPT #input中icmp協(xié)議全部接受,即相應ping包
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTCOMMIT
然后重啟iptables服務(wù)
apache的配置文件為/etc/httpd/conf/httpd.conf ,參數調整主要就在這個(gè)文件中進(jìn)行。
apache網(wǎng)站的內容目錄為/var/www/html/
secureCRT里面sz命令可以上傳,rz filename可以下載服務(wù)器文件到設置的本地目錄
為了測試,我們這里另存為http://www.google.com.hk的頁(yè)面上傳到服務(wù)器的/etc/www/html/google.htm做測試
[root@centos55 ~]# vi /etc/httpd/conf/httpd.conf
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex Google.htm index.html index.html.var #在此文件中搜索DirectoryIndex然后加入網(wǎng)站默認頁(yè)面文件名即可
此部分引用http://goo.gl/5lsy8整理
MPM為Multi -Processing Modules,多道處理模塊
[root@centos55 ~]# httpd –l #此命令即可看到工作模式,prefork.c即為prefork-Unix工作模式
prefork.c模塊(一個(gè)非線(xiàn)程型的、預派生的MPM)
prefork MPM 使用多個(gè)子進(jìn)程,每個(gè)子進(jìn)程只有一個(gè)線(xiàn)程。每個(gè)進(jìn)程在某個(gè)確定的時(shí)間只能維持一個(gè)連接。在大多數平臺上,Prefork MPM在效率上要比Worker MPM要高,但是內存使用大得多。prefork的無(wú)線(xiàn)程設計在某些情況下將比worker更有優(yōu)勢:他能夠使用那些沒(méi)有處理好線(xiàn)程安全的第三方模塊,并 且對于那些線(xiàn)程調試困難的平臺而言,他也更容易調試一些。
[root@centos55]# vi /etc/httpd/conf/httpd.conf
# prefork下的參數調優(yōu)
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
#ServerLimit 20000 #上面有這個(gè)參數的英文釋義。默認的MaxClient最大是256個(gè)線(xiàn)程,假如想配置更大的值,就的加上ServerLimit這個(gè)參數。20000是ServerLimit這個(gè)參數的最大值。假如需要更大,則必須編譯apache,此前都是無(wú)需重新編譯Apache。生效前提:必須放在其他指令的前面
StartServers 8 #指定服務(wù)器啟動(dòng)時(shí)建立的子進(jìn)程數量,[root@centos55 ~]# ps -aux|grep httpd命令查看到進(jìn)程就是這里的8個(gè)。
MinSpareServers 5 #指定空閑子進(jìn)程的最小數量,假如當前空閑子進(jìn)程數少于MinSpareServers ,那么Apache將以最大每秒一個(gè)的速度產(chǎn)生新的子進(jìn)程。此參數不宜設的太大。
MaxSpareServers 20 #配置空閑子進(jìn)程的最大數量,假如當前有超過(guò)MaxSpareServers數量的空閑子進(jìn)程,那么父進(jìn)程將殺死多余的子進(jìn)程。此參數不宜設的太大。假如您將該指令的值配置為比MinSpareServers小,Apache將會(huì )自動(dòng)將其修改成"MinSpareServers+1"。
ServerLimit 256
MaxClients 256 #限定同一時(shí)間客戶(hù)端最大接入請求的數量(單個(gè)進(jìn)程并發(fā)線(xiàn)程數),任何超過(guò)MaxClients限制的請求都將進(jìn)入等候隊列,一旦一個(gè)鏈接被釋放,隊列中的請求將得到服務(wù)。要增大這個(gè)值,您必須同時(shí)增大ServerLimit 。
MaxRequestsPerChild 4000 #每個(gè)子進(jìn)程在其生存期內允許伺服的最大請求數量,到達MaxRequestsPerChild的限制后,子進(jìn)程將會(huì )結束。假如MaxRequestsPerChild為"0",子進(jìn)程將永遠不會(huì )結束。將MaxRequestsPerChild配置成非零值有兩個(gè)好處:1.能夠防止(偶然的)內存泄漏無(wú)限進(jìn)行,從而耗盡內存。 2.給進(jìn)程一個(gè)有限壽命,從而有助于當服務(wù)器負載減輕的時(shí)候減少活動(dòng)進(jìn)程的數量。
</IfModule>
worker.c模塊(支持混合的多線(xiàn)程多進(jìn)程的多路處理模塊)
worker MPM 使用多個(gè)子進(jìn)程,每個(gè)子進(jìn)程有多個(gè)線(xiàn)程。每個(gè)線(xiàn)程在某個(gè)確定的時(shí)間只能維持一個(gè)連接。通常來(lái)說(shuō),在一個(gè)高流量的HTTP服務(wù)器上,Worker MPM是個(gè)比較好的選擇,因為Worker MPM的內存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,假如一個(gè)線(xiàn)程崩潰,整個(gè)進(jìn)程就會(huì )連同其任何線(xiàn)程一起"死掉".由于線(xiàn)程共享內存空間,所以一個(gè)程式在運行時(shí)必須被系統識別為"每 個(gè)線(xiàn)程都是安全的"。
ServerLimit 50 #服務(wù)器允許配置的進(jìn)程數上限。這個(gè)指令和ThreadLimit結合使用配置了MaxClients最大允許配置的數值。任何在重啟期間對這個(gè)指令的改變都將被忽略,但對MaxClients的修改卻會(huì )生效。
ThreadLimit 64 #每個(gè)子進(jìn)程可配置的線(xiàn)程數上限。這個(gè)指令配置了每個(gè)子進(jìn)程可配置的線(xiàn)程數ThreadsPerChild上限。任何在重啟期間對這個(gè)指令的改變都將被忽略,但對ThreadsPerChild的修改卻會(huì )生效。默認值是"64".
StartServers 3 #服務(wù)器啟動(dòng)時(shí)建立的子進(jìn)程數,默認值是"3"。
MinSpareThreads 75 #最小空閑線(xiàn)程數,默認值是"75"。這個(gè)MPM將基于整個(gè)服務(wù)器監控空閑線(xiàn)程數。假如服務(wù)器中總的空閑線(xiàn)程數太少,子進(jìn)程將產(chǎn)生新的空閑線(xiàn)程。
MaxSpareThreads 250 #配置最大空閑線(xiàn)程數。默認值是"250"。這個(gè)MPM將基于整個(gè)服務(wù)器監控空閑線(xiàn)程數。假如服 務(wù)器中總的空閑線(xiàn)程數太多,子進(jìn)程將殺死多余的空閑線(xiàn) 程。MaxSpareThreads的取值范圍是有限制的。Apache將按照如下限制自動(dòng)修正您配置的值:worker需要其大于等于 MinSpareThreads加上ThreadsPerChild的和
MaxClients 400 #允許同時(shí)伺服的最大接入請求數量(最大線(xiàn)程數量)。任何超過(guò)MaxClients限制的請求都將進(jìn)入等候 隊列。默認值是"400",16 (ServerLimit)乘以25(ThreadsPerChild)的結果。因此要增加MaxClients的時(shí)候,您必須同時(shí)增加 ServerLimit的值。
ThreadsPerChild 25 #每個(gè)子進(jìn)程建立的常駐的執行線(xiàn)程數。默認值是25。子進(jìn)程在啟動(dòng)時(shí)建立這些線(xiàn)程后就不再建立新的線(xiàn)程了。
MaxRequestsPerChild 0 #配置每個(gè)子進(jìn)程在其生存期內允許伺服的最大請求數量。到達MaxRequestsPerChild的限制后,子進(jìn)程將會(huì )結束。假如MaxRequestsPerChild為"0",子進(jìn)程將永遠不會(huì )結束。對于KeepAlive鏈接,只有第一個(gè)請求會(huì )被計數。事實(shí)上,他改變了每個(gè)子進(jìn)程限制最大鏈接數量的行為。
ApacheBench可以壓力測試apache。ab.exe
聯(lián)系客服