Apache在windows server上配置

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章