apache2配置詳解

2021-08-30 12:36:16 字數 2880 閱讀 5174

1、serverroot

serverroot "/usr/local/apache2"    #apache 軟體安裝的位置。配置檔案中其它指定的目錄如果沒有指定絕對路徑,則目錄是相對於該目錄。

2、pidfile logs/httpd.pid #第乙個httpd 程序(所有其他程序的父程序)的程序號檔案位置。在httpd-mpm.conf檔案裡

3、listen 80 #伺服器監聽的埠號。可以監聽多個

listen 80

listen 6200

listen 6201

listen 6101

4、servername www.kong.com:80 #主站點名稱(**的主機名)。

5、serveradmin [email protected] #管理員的郵件位址。

6、documentroot "/mnt/web/clusting" #主站點的網頁儲存位置。

以下是對主站點的目錄進行訪問控制:

options followsymlinks

allowoverride none

order allow,deny

allow from all

options:配置在特定目錄使用哪些特性,常用的值和基本含義如下:

execcgi: 在該目錄下允許執行cgi 指令碼。

followsymlinks: 在該目錄下允許檔案系統使用符號連線。

symlinksifownermatch: 當使用符號連線時,只有當符號連線的檔案擁有者與實際檔案的擁有者相同時才可以訪問。

indexes: 當使用者訪問該目錄時,如果使用者找不到directoryindex 指定的主頁檔案(例如index.html),則返回該目錄下的檔案列表給使用者。

allowoverride:允許存在於.htaccess 檔案中的指令型別(.htaccess 檔名是可以改變的,其檔名由accessfilename 指令決定),即.htaccess可以覆蓋該命令:

none: 當allowoverride 被設定為none 時。不搜尋該目錄下的.htaccess 檔案(可以減小伺服器開銷)。 

all: 在.htaccess 檔案中可以使用所有的指令,即.htaccess檔案中的命令優先。

order:控制在訪問時allow 和deny 兩個訪問規則哪個優先:

allow : 允許訪問的主機列表( 可用網域名稱或子網, 例如: allow from192.168.0.0/16)。

deny:拒絕訪問的主機列表。

7、directoryindex index.html index.htm index.php #首頁檔案的設定

8、apache2的工作方式

apache2 主要的優勢就是對多處理器的支援更好,在編譯時同過使用--with-mpm

選項來決定apache2 的工作模式。如果知道當前的apache2 使用什麼工作機制,可以

通過httpd -l 命令列出apache 的所有模組,就可以知道其工作方式:

(1)prefork(程序)工作方式:如果httpd -l 列出prefork.c,則需要對下面的段進行配置:

startservers 5 #啟動apache 時啟動的httpd 程序個數。

minspareservers 5 #伺服器保持的最小空閒程序數。

maxspareservers 10 #伺服器保持的最大空閒程序數。

maxclients 150 #最大併發連線數。

maxrequestsperchild 1000 #每個子程序被請求服務多少次後被kill 掉。0 表示

不限制,推薦設定為1000。

在該工作模式下,伺服器啟動後起動5 個httpd 程序(加父程序共6 個,通過ps -ax|grep httpd 命令可以看到)。當有使用者連線時,apache 會使用乙個空閒程序為該連線服務, 同時父程序會fork(複製)乙個子程序。直到記憶體中的空閒程序達到maxspareservers。該模式是為了相容一些舊版本的程式。預設編譯時的選項。

(2)worker(執行緒)工作方式:如果httpd -l 列出worker.c,則需要對下面的段進行配置:

startservers 2 #啟動apache 時啟動的httpd 程序個數。

maxclients 150 #最大併發連線數。

minsparethreads 25 #伺服器保持的最小空閒執行緒數。

maxsparethreads 75 #伺服器保持的最大空閒執行緒數。

threadsperchild 25 #每個子程序的產生的執行緒數。

maxrequestsperchild 0 #每個子程序被請求服務多少次後被kill 掉。0 表示不限制,推薦設定為1000。

該模式是由執行緒來監聽客戶的連線。當有新客戶連線時,由其中的乙個空閒執行緒接受連線。伺服器在啟動時啟動兩個程序, 每個程序產生的執行緒數是固定的(threadsperchild 決定),因此啟動時有50 個執行緒。當50 個執行緒不夠用時,伺服器自動fork 乙個程序,再產生25 個執行緒。

(3)perchild:如果httpd -l 列出perchild.c,則需要對下面的段進行配置:

numservers 5 #伺服器啟動時啟動的子程序數

startthreads 5 #每個子程序啟動時啟動的執行緒數

minsparethreads 5 #記憶體中的最小空閒執行緒數

maxsparethreads 10 #最大空閒執行緒數

maxthreadsperchild 2000 #每個執行緒最多被請求多少次後退出。0 不受限制。

maxrequestsperchild 10000 #每個子程序服務多少次後被重新fork。0 表示不受

限制。該模式下,子程序的數量是固定的,執行緒數不受限制。當客戶端連線到伺服器時,又空閒的執行緒提供服務。如果空閒執行緒數不夠,子程序自動產生執行緒來為新的連線服務。該模式用於多站點伺服器。

9、永續性連線設定

apache2優化配置總結

ubuntu server 12.04 lts 配置檔案 一般在 etc apache2 下 apache2.conf conf.d secrity default.conf 下面我寫到的配置引數都存在在這幾個檔案中 1.hostnamelookups off 網域名稱查詢 開啟這個會增加ap的負擔...

在ubuntu上配置apache2

前言 之前只是用下面的命令列安裝了apache2,裝好之後就可以訪問到 sudo apt get install apache2 開啟連線localhost顯示出 var www html下的index.html檔案的內容,因為在那個目錄下的檔案的管理許可權都是要 root的,在裡面很難操作檔案 所...

Ubuntu下為Apache2配置SSL

參考文章 1.啟用 ssl 模組 sudo a2enmod ssl 2.安裝openssl sudo apt get install openssl 3.建立ca簽名 不使用密碼去除 des3選項 openssl genrsa des3 out server.key 1024 4.建立csr cer...