Architecture

Apache HTTP Server(簡稱httpd)的Main函式中,大架構是個for無窮迴圈,主程式一開始載入設定檔與初始化啟動,當設定都沒有問題則呼叫ap_mpm_run函式,啟動多處理序模組(Multi-Processing Module, MPM)。

在Windows系統下,httpd是使用mpm_winnt,當httpd執行MPM時,其運作方式為httpd重新執行httpd本身程式。一開始執行的稱為主處理序(Master Process),於ap_mpm_run函式中呼叫master_main函式。

在master_main函式中會重新執行httpd本身程式(利用create_process函式),也就是主處理序建立另一個子處理序(Child Process),同樣的會再次呼叫ap_mpm_run函式,但第二次執行時是呼叫child_main函式。

對於Windows系統而言,httpd運行時只有兩個處理序(即兩個不同的PID)。