摘要:進(jìn)程的工作就是管理子進(jìn)程,而子進(jìn)程的工作就是處理用戶請求。當(dāng)新的請求過來的時(shí)候,管理線程會(huì)把請求交給其他的空閑線程處理。
當(dāng)前主流的web服務(wù)器有哪些?
Apache
Nginx
iis
Apache的工作模式有哪些?各自的特點(diǎn)和優(yōu)缺點(diǎn)是什么?適用場景是什么?apache主要工作模式有3種,分別如下:
prefork工作模式
特點(diǎn)
prefork模式是一種非線程的多進(jìn)程模型,web服務(wù)(apache)啟動(dòng)就是啟動(dòng)master進(jìn)程,隨之 master進(jìn)程會(huì)啟動(dòng)若干個(gè)worker子進(jìn)程,一個(gè)進(jìn)程對應(yīng)一個(gè)線程。 master進(jìn)程的工作就是管理worker子進(jìn)程,而worker子進(jìn)程的工作就是處理用戶請求。 當(dāng)用戶發(fā)起一個(gè)請求,apache就會(huì)從空閑的子進(jìn)程中選擇一個(gè)來處理這個(gè)用戶請求。 一個(gè)進(jìn)程處理一個(gè)請求,處理完才處理下個(gè)請求
優(yōu)點(diǎn)
1、用戶不用等到其他進(jìn)程處理完畢.因?yàn)橹灰锌臻e子進(jìn)程在就可以處理新的請求 2、每個(gè)請求相互獨(dú)立,如果一個(gè)worker子進(jìn)程崩潰了,不會(huì)影響其他worker進(jìn)程處理請求。 3、此模式是線程安全的,所謂線程安全:多個(gè)線程無法同時(shí)操作一個(gè)對象 4、響應(yīng)速度快,穩(wěn)定
缺點(diǎn)
1、消耗CPU和內(nèi)存資源大 2、并發(fā)量不高
worker工作模式
特點(diǎn)
是一種多進(jìn)程多線程模型,仍然是一個(gè)master父進(jìn)程啟動(dòng)若干個(gè)子進(jìn)程,每個(gè)子進(jìn)程啟動(dòng)若干個(gè)線程,每個(gè)線程處理每個(gè)請求
優(yōu)點(diǎn)
1、worker模型的并發(fā)性高于prefork模型,適合高并發(fā)場景 2、消耗資源少
缺點(diǎn)
1、非線程安全,所以此模式只能使用線程安全版本的PHP 2、一旦某線程出了問題,可能導(dǎo)致整個(gè)進(jìn)程死掉
event工作模式 (apache2.4新增的)
特點(diǎn)
是worker模式的升級(jí)版,為了解決長連接(keep-alive)問題而生的 使用worker模型,一個(gè)線程對應(yīng)一個(gè)請求,當(dāng)一個(gè)請求為長連接的時(shí)候, 線程就會(huì)保持當(dāng)長連接狀態(tài),等待客戶端的下一個(gè)請求, 這樣子當(dāng)前線程就不能處理其他客戶端請求了
優(yōu)點(diǎn)
event模型下,每個(gè)進(jìn)程會(huì)有一個(gè)多帶帶的線程來管理這些keep-alive類型的線程。 當(dāng)新的請求過來的時(shí)候,管理線程會(huì)把請求交給其他的空閑線程處理。 這樣子就避免了每個(gè)線程都被keep-alive阻塞
缺點(diǎn)
不支持https,在https協(xié)議下會(huì)退化成worker模型Apache工作模式在哪里指定?如何查看當(dāng)前apache處于哪種模式
在編譯安裝Apache的時(shí)候指定的 --with-mpm=profork
使用命令:./apachectl -l
Apache工作模式的配置文件在哪?各配置選項(xiàng)是什么?配置文件默認(rèn)是:httpd-mpm.conf
Apache2.4.X 多站點(diǎn)如何配置?修改主配置文件
在httpd.conf中,打開多站點(diǎn)配置模塊
Include conf/extra/httpd-vhosts.conf 把前面#號(hào)去掉
打開extra/httpd-vhost.conf文件并修改,代碼如下:
//配置虛擬主機(jī)(站點(diǎn))ServerName domain.com ServerAlias www.domain.com mail.domain.com DocumentRoot "/home/www" #設(shè)置文件夾訪問控制,其路徑要和上一行的DocumentRoot一樣, ## 禁止顯示目錄結(jié)構(gòu) Options FollowSymlinks ## 允許.htaccess生效 AllowOverride All ## 請求控制 Require all granted ## 默認(rèn)打開的頁面設(shè)置 DirectoryIndex index.php index.html
上面配置請求控制到底是什么?
Require all granted 代表所有人都可以訪問
Require all denied 代表所有人都不可以訪問
Require not ip 192.168.1.24 禁止指定ip訪問
真正要禁止ip,請使用iptables
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39599.html
摘要:進(jìn)程的工作就是管理子進(jìn)程,而子進(jìn)程的工作就是處理用戶請求。當(dāng)新的請求過來的時(shí)候,管理線程會(huì)把請求交給其他的空閑線程處理。 當(dāng)前主流的web服務(wù)器有哪些? Apache Nginx iis Apache的工作模式有哪些?各自的特點(diǎn)和優(yōu)缺點(diǎn)是什么?適用場景是什么? apache主要工作模式有3種,分別如下: prefork工作模式 特點(diǎn) prefork模式是一種非線程的多進(jìn)程模型,we...
摘要:如何開啟多模塊在配置文件中,配置如下代碼開啟重寫規(guī)則項(xiàng)目中創(chuàng)建模塊在目錄中創(chuàng)建目錄然后再在目錄下創(chuàng)建模塊目錄 Yaf 如何開啟多模塊? 在配置文件(application.ini)中,配置如下代碼: application.modules=Index,Admin 開啟webServer重寫規(guī)則 if (!-e $request_filename) { rewrite ^/(.*...
摘要:如將自定義的鏡像發(fā)布到倉庫。如上傳后訪問地址自定義的上傳上去的鏡像。 Docker檢查 查看版本 $docker --version #查看版本 $docker-compose --version #查看版本 $docker-machine --version #查看版本 $docker version #查看client和server端版本,并可以查看是否開啟體驗(yàn)功能 檢查 $do...
摘要:對常用的一些命令做一個(gè)記錄鏡像相關(guān)拉去一個(gè)鏡像文件選項(xiàng)地址端口號(hào)倉庫名標(biāo)簽查看鏡像列表是只列出鏡像列表過濾虛懸鏡像在指定的鏡像之后創(chuàng)建的鏡像在指定的鏡像之前創(chuàng)建的鏡像根據(jù)鏡像名稱和標(biāo)簽過濾刪除虛懸鏡像刪除鏡像選項(xiàng)鏡像鏡像命令組合刪 對docker 常用的一些命令做一個(gè)記錄 鏡像 image 相關(guān) ## 拉去一個(gè)鏡像文件 docker pull [選項(xiàng)] [Docker Registry...
摘要:獲取鏡像選項(xiàng)地址端口號(hào)倉庫名標(biāo)簽例具體選項(xiàng)可通過命名看到默認(rèn)為,地址格式為域名例運(yùn)行容器倉庫名以上面的為例,如果我們打算啟動(dòng)里面的并進(jìn)行交互式操作這是兩個(gè)參數(shù),一個(gè)是交互式操作,一個(gè)是終端。 獲取鏡像 docker pull [選項(xiàng)] [Docker Registry 地址[:端口號(hào)]/] 倉庫名[:標(biāo)簽] 例:docker pull ubuntu:16.04 具體選項(xiàng)可通過 dock...
閱讀 3340·2021-11-22 14:44
閱讀 2550·2019-08-30 14:10
閱讀 2610·2019-08-30 13:12
閱讀 1227·2019-08-29 18:36
閱讀 1352·2019-08-29 16:16
閱讀 3340·2019-08-26 10:33
閱讀 1770·2019-08-23 18:16
閱讀 389·2019-08-23 18:12