apache伺服器本質

2021-09-20 12:23:48 字數 889 閱讀 5511

apache伺服器本質上說是乙個tcp socket服務,socket模型如下:

下面以worker mpm來說明apache**中相應處理的位置在**:

(以apache httpd 2.2.23版本的**為基礎)

1) 在第一次啟動時驗證配置沒有異常時,建立了socket。

2) open_logs 掛鉤呼叫了 ap_setup_listeners() ,最終在listen.c的make_socket方法執行了apr_socket_bind/apr_socket_listen,進入通訊的環節。

3) worker.c的監聽執行緒中負責接受請求,然後利用ap_queue_push把相應的請求放入佇列中。下面是接受請求accept_func的呼叫棧。

4)請求/響應的處理。

請求的處理是通過handler來實現,如果是讀取伺服器上的靜態頁面,則由default_handler來處理。同時響應的內容需要通過filter修改之後,最終傳送header和body。下面是傳送header的呼叫棧。

暫時寫到這裡,以後再繼續分析。

apache伺服器本質

apache伺服器本質上說是乙個tcp socket服務,socket模型如下 下面以worker mpm來說明apache 中相應處理的位置在 以apache httpd 2.2.23版本的 為基礎 1 在第一次啟動時驗證配置沒有異常時,建立了socket。2 open logs 掛鉤呼叫了 ap...

apache伺服器本質

apache伺服器本質上說是乙個tcp socket服務,socket模型如下 下面以worker mpm來說明apache 中相應處理的位置在 以apache httpd 2.2.23版本的 為基礎 1 在第一次啟動時驗證配置沒有異常時,建立了socket。2 open logs 掛鉤呼叫了 ap...

伺服器安裝apache伺服器

1.環境 centos7 2.鏈結伺服器 ssh username ip 3.安裝apache 4.設定apache在伺服器啟動時執行 5.在apache配置檔案中設定網域名稱 vi etc httpd conf httpd.conf,找到 servername 新增 網域名稱 80 儲存並退出。6...