1.修改網頁根目錄及端口(必學)
修改httpd.conf 文件
ServerName www.xxxxxx.com:80 #主站點名稱(網站的主機名)。
ServerAdmin admin@xxx.com #管理員的郵件地址。
DocumentRoot "/xxx/web/xxxx" #主站點的網頁存儲位置。
2.基本設置-設置管理員相關以及網站首頁地址
修改httpd.conf 文件
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
3.禁止訪問文件目錄
修改httpd.conf 文件
<Directory />#根目錄
以及
<Directory "/mnt/web/clusting"> #主站點目錄
下面都要加上
Options None
AllowOverride None
Order allow,deny
Allow from all
4.性能參數配置(進程線程配置)
修改httpd.conf 文件
4.1.啓用MPM模塊配置文件
在默認情況下,Apache的MPM模塊配置文件並沒有啓用。因此,我們需要在httpd.conf文件中啓用該配置文件,如下所示:
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf (去掉該行前面的註釋符號"#")
4.2.修改MPM模塊配置文件中的相關配置
在Apace安裝目錄/conf/extra目錄中有一個名爲httpd-mpm.conf 的配置文件。該文件主要用於進行MPM模塊的相關配置。
在上一步4.2啓用MPM模塊配置文件後,我們就可以使用文本編輯器打開 httpd-mpm.conf 配置文件,我們可以看到,在該配置文件中有許多配置節點,如下圖所示:
#由於mpm_winnt模塊只會創建1個子進程,因此這裏對單個子進程的參數設置就相當於對整個Apache的參數設置。
<IfModule mpm_winnt_module>
ThreadsPerChild 150 #推薦設置:小型網站=1000 中型網站=1000~2000 大型網站=2000~3500
MaxRequestsPerChild 0 #推薦設置:小=10000 中或大=20000~100000
對應的配置參數作用如下:
ThreadsPerChild :每個子進程的最大併發線程數。
MaxRequestsPerChild :每個子進程允許處理的請求總數。如果累計處理的請求數超過該值,該子進程將會結束(然後根據需要確定是否創建新的子進程),該值設爲0表示不限制請求總數(子進程永不結束)。
該參數建議設爲非零的值,可以帶來以下兩個好處:
(1)可以防止程序中可能存在的內存泄漏無限進行下去,從而耗盡內存。
(2)給進程一個有限壽命,從而有助於當服務器負載減輕的時候減少活動進程的數量。
5. 錯誤訪問處理
修改httpd.conf 文件,以及在第一步對apache設置的根目錄下創建新文件,命名爲 missing.html
ErrorDocument 500 "The server made a boo boo."
ErrorDocument 404 /missing.html <==將註解拿掉吧!
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
//新建html文件,放在第一步對apache設置的根目錄下,命名爲 missing.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>錯誤</title>
<head>
<body>
<font size=+2>找不到您要訪問的網頁</font>
<br />
<hr /> 您所輸入的網址並不存在我們的服務器當中, 可能是因爲該網頁已經被管理員刪除。
點擊
<a href="/">這裏</a>回到首頁! ^_^
<br />
<hr /> 若有任何問題,請聯繫管理員!
<a href="mailto:[email protected]">0lidaxiang#(把#換成@)gmail.com</a>。
</body>
</html>
7.壓力測試以及調整日誌寫入
apache [warn] (OS 64)指定的網絡名不再可用
解決辦法:如果是apache2.0.49以上:
在httpd.conf(或mpm)文件中添加 Win32DisableAcceptEx 標記,如下:
<IfModule mpm_winnt.c>
ThreadsPerChild 1000
MaxRequestsPerChild 10000
Win32DisableAcceptEx
</IfModule>
這樣可以允許併發連接更大一些。同時性能上也不會有明顯的降低.
#如果上面的不起作用就在httpd-mpm.conf文件中的對應mpm_winnt_module中添加
AcceptFilter http none
AcceptFilter https none
壓力測試:http://cloudchen.logdown.com/posts/247932/apache-jmeter-tool-for-load-test-and-measure-performance
參考文獻:
1.Apache對管理員郵箱、根目錄、端口等基本配置(頁面的(1))
2.Apache配置禁止訪問目錄
3.Apache優化:修改最大併發連接數
4.Apache 找不到網頁時的顯示訊息通知(頁面的20.3.3)