国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Apache MPM 公共指令
說明 收集了被多個多路處理模塊(MPM)實(shí)現(xiàn)的公共指令
狀態(tài) MPM

AcceptMutex 指令

說明 Apache用于串行化多個子進(jìn)程在(多個)網(wǎng)絡(luò)套接字(socket)上接受請求的方法
語法 AcceptMutex Default|method
默認(rèn)值 AcceptMutex Default
作用域 server config
狀態(tài) MPM
模塊 prefork, worker

AcceptMutex指令用于設(shè)置串行化多個子進(jìn)程在(多個)網(wǎng)絡(luò)套接字上接受請求的方法。在2.0版本以前,只能在編譯時設(shè)定此方法。應(yīng)當(dāng)在這里使用的最佳方法取決于不同的硬件體系結(jié)構(gòu)和操作系統(tǒng)。欲知詳情,請參見性能調(diào)節(jié)文檔。

如果設(shè)置為Default ,那么將會使用編譯時自動選擇的默認(rèn)值。其他可用的方法在下面列出。注意,并不是所有的方法在所有的平臺上都是可用的,如果指定了一個不可用的方法,將會在錯誤日志中記錄下這個不可用的方法。

flock
這種方法調(diào)用系統(tǒng)函數(shù)flock(2)來鎖定一個加鎖文件(其位置取決于LockFile指令)。
fcntl
這種方法調(diào)用系統(tǒng)函數(shù)fcntl(2)來鎖定一個加鎖文件(其位置取決于LockFile指令)。
posixsem
(2.0及更新版本)這種方法使用了POSIX信號燈。如果一個運(yùn)行中的線程占有了互斥segfault ,則信號燈的所有者將不會被恢復(fù),從而導(dǎo)致服務(wù)器的掛起和失去響應(yīng)。
pthread
(1.3及更新版本)這種方法使用了POSIX互斥,按理應(yīng)該可以用于所有完整實(shí)現(xiàn)了POSIX線程規(guī)范的體系中,但是似乎只能用在Solaris2.5及更新版本中,甚至只能在某種配置下才正常運(yùn)作。如果遇到這種情況,則應(yīng)該提防服務(wù)器的掛起和失去響應(yīng)。只提供靜態(tài)內(nèi)容的服務(wù)器可能不受影響。譯者注:此選項不能用于Linux。
sysvsem
(1.3及更新版本)這種方案使用SysV風(fēng)格的信號燈以實(shí)現(xiàn)互斥。不幸的是,SysV風(fēng)格的信號燈有一些副作用,其一是,Apache有可能不能在結(jié)束以前釋放這種信號燈(見ipcs()的man page),另外,這種信號燈API給與網(wǎng)絡(luò)服務(wù)器有相同uid的CGI提供了拒絕服務(wù)攻擊的機(jī)會(所有CGI,除非用了類似suexeccgiwrapper)。鑒于此,在多數(shù)體系中都不用這種方法,除了IRIX(因?yàn)榧渔i文件的方法在IRIX中代價太高)。

如果你想知道編譯時自動選擇的默認(rèn)值,你可以將LogLevel設(shè)為debug ,這樣默認(rèn)的AcceptMutex就會記錄到ErrorLog中。

警告

在大多數(shù)系統(tǒng)上,使用pthread時,如果一個子進(jìn)程在持有AcceptCntl互斥信號時異常中止,服務(wù)器將會掛起和失去響應(yīng),此時必須手動重啟服務(wù)器才能解決問題。但Solaris是一個例外,因?yàn)樗峁┝艘粋€機(jī)制(Apache利用了該機(jī)制),允許在一個持有互斥信號的子進(jìn)程異常中止后恢復(fù)互斥信號。

如果你的操作系統(tǒng)實(shí)現(xiàn)了pthread_mutexattr_setrobust_np()函數(shù),基本上就能安全的使用pthread選項。譯者注:Solaris實(shí)現(xiàn)了此函數(shù),Linux卻沒有實(shí)現(xiàn)。

CoreDumpDirectory 指令

說明 Apache使用的內(nèi)核轉(zhuǎn)儲目錄
語法 CoreDumpDirectory directory
默認(rèn)值 參見說明
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_winnt, prefork, worker

這個指令用于控制Apache使用的內(nèi)核轉(zhuǎn)儲目錄。默認(rèn)位于ServerRoot下,因?yàn)檫@個目錄通常對于運(yùn)行服務(wù)器的用戶是不可寫的,內(nèi)核轉(zhuǎn)儲一般也就不會寫入內(nèi)容。如果你在調(diào)試中需要內(nèi)核轉(zhuǎn)儲,你可以用這個指令來指定另外一個目錄。

Linux上的內(nèi)核轉(zhuǎn)儲

如果Apache以root身份啟動并切換至其他用戶,即使指定的轉(zhuǎn)儲目錄對進(jìn)程是可寫的,Linux內(nèi)核也將禁止Apache進(jìn)行內(nèi)核轉(zhuǎn)儲。但是Apache2.0.46及以后的版本在你明確指定CoreDumpDirectory的情況下,能夠在Linux2.4以上的版本中強(qiáng)制實(shí)現(xiàn)內(nèi)核轉(zhuǎn)儲。

EnableExceptionHook 指令

說明 在子進(jìn)程崩潰以后啟用一個鉤子來運(yùn)行異常處理程序
語法 EnableExceptionHook On|Off
默認(rèn)值 EnableExceptionHook Off
作用域 server config
狀態(tài) MPM
模塊 prefork, worker
兼容性 僅在 Apache 2.0.49 及以后的版本中可用

因?yàn)榘踩颍@個指令僅在編譯時使用了 --enable-exception-hook 選項的情況下才可用。它會在一個子進(jìn)程崩潰以后啟用一個鉤子(hook)來運(yùn)行一個外部模塊以做些后繼處理。

目前有兩個模塊(mod_whatkilledusmod_backtrace)可以被鉤子使用。請參見Jeff Trawick的EnableExceptionHook site以獲得更多信息。

GracefulShutdownTimeout 指令

說明 指定優(yōu)雅停止服務(wù)器的超時秒數(shù)
語法 GracefulShutDownTimeout seconds
默認(rèn)值 GracefulShutDownTimeout 0
作用域 server config
狀態(tài) MPM
模塊 prefork, worker, event
兼容性 僅在 Apache 2.2 及以后的版本中可用

GracefulShutdownTimeout設(shè)置服務(wù)器在收到"優(yōu)雅停止"信號后最多允許使用多少秒來處理尚未完成的連接,超時后服務(wù)器將強(qiáng)行退出。

設(shè)為"0"表示永不超時,也就是服務(wù)器必須在處理完所有尚未完成的請求之后才能退出。

Group 指令

說明 對請求提供服務(wù)的Apache子進(jìn)程運(yùn)行時的用戶組
語法 Group unix-group
默認(rèn)值 Group #-1
作用域 server config
狀態(tài) MPM
模塊 beos, mpmt_os2, prefork, worker
兼容性 Apache2.0以后只對全局配置有效

Group指令指定了用于對客戶端請求提供服務(wù)的Apache子進(jìn)程運(yùn)行時的用戶組。為了使用這個指令,Apache必須以root初始化啟動,否則在切換用戶組時會失敗,并繼續(xù)以初始化啟動時的用戶組運(yùn)行。Unix-group可以是下列之一:

用戶組的名稱
通過名稱引用組。
"#"號后跟一個組編號(GID)
通過編號引用組。

示例

Group www-group

建議你專門為Apache服務(wù)器新建一個用戶組。一些管理員使用nobody用戶,但是這并非總是可用或是合適的。

安全

不要將Group(或User)設(shè)置成root ,除非你明確知道自己在做什么,并且明白其風(fēng)險所在。

特別提示:在<VirtualHost>段中使用該指令已經(jīng)不再被支持了。你可以使用suexecSuexecUserGroup指令來達(dá)到這個目的。

注意

雖然Group指令也存在于beosmpmt_os2MPM中,但是事實(shí)上沒用任何用處,只不過是個擺飾罷了。

Listen 指令

說明 服務(wù)器監(jiān)聽的IP地址和端口
語法 Listen [IP-address:]portnumber [protocol]
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker, event
兼容性 Apache2.0以后必須設(shè)置該指令,protocol參數(shù)僅在2.1.5及以后版本中可用

Listen指令指示Apache只在指定的IP地址和端口上監(jiān)聽;默認(rèn)情況下Apache會在所有IP地址上監(jiān)聽。Listen是一個必須設(shè)置的指令。如果在配置文件中找不到這個指令,服務(wù)器將無法啟動。這和先前的版本不一樣。

Listen指令指定服務(wù)器在那個端口或地址和端口的組合上監(jiān)聽接入請求。如果只指定一個端口,服務(wù)器將在所有地址上監(jiān)聽該端口。如果指定了地址和端口的組合,服務(wù)器將在指定地址的指定端口上監(jiān)聽。

使用多個Listen指令可以指定多個不同的監(jiān)聽端口和/或地址端口組合。服務(wù)器將會對列出的所有端口和地址端口組合上的請求作出應(yīng)答。

例如,想要服務(wù)器接受80和8000端口上的請求,可以這樣設(shè)置:

Listen 80
Listen 8000

為了讓服務(wù)器在兩個確定的地址端口組合上接受請求,可以這樣設(shè)置:

Listen 192.170.2.1:80
Listen 192.170.2.5:8000

IPv6地址必須像下面的例子一樣,用方括號括起來:

Listen [2001:db8::a00:20ff:fea7:ccea]:80

可選的protocol參數(shù)在大多數(shù)情況下并不需要。若未指定該參數(shù),則將為443端口使用默認(rèn)的https協(xié)議,為其它端口使用http協(xié)議。在這里指定協(xié)議是為了確定使用哪個模塊來處理請求,以及根據(jù)AcceptFilter指令根據(jù)不同的協(xié)議有針對性的進(jìn)行優(yōu)化。

僅在使用非標(biāo)準(zhǔn)端口時才需要指定protocol參數(shù)。比如在8443端口運(yùn)行https協(xié)議:

Listen 192.170.2.1:8443 https

錯誤條件

多個Listen指令指定了同一個地址和端口的組合后,會導(dǎo)致"Address already in use"錯誤。

參見

ListenBackLog 指令

說明 半鏈接(pending connection)隊列的最大長度
語法 ListenBacklog backlog
默認(rèn)值 ListenBacklog 511
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker

半鏈接(pending connection)隊列的最大長度。一般不需要調(diào)整此項參數(shù),然而在一些系統(tǒng)上,必須增大此值以抵御TCP SYN 洪水攻擊。參見操作系統(tǒng)的listen(2)系統(tǒng)調(diào)用的后備參數(shù)。

操作系統(tǒng)常常將此值限制為一個較小的數(shù)字,具體根據(jù)操作系統(tǒng)的不同而不同。需要注意的是,許多操作系統(tǒng)并不是正好使用后備數(shù)值,而是取決于設(shè)置的值(通常大于后備值)。

LockFile 指令

說明 接受串行鎖文件的位置
語法 LockFile filename
默認(rèn)值 LockFile logs/accept.lock
作用域 server config
狀態(tài) MPM
模塊 prefork, worker

LockFile指令設(shè)置當(dāng)AcceptMutex指令的值是fcntlflock的時候,Apache使用的鎖文件的位置。該指令通常保持它的默認(rèn)值。改變默認(rèn)值的主要原因是logs目錄位于一個NFS文件系統(tǒng)上,因?yàn)殒i文件必須位于本地磁盤上。主服務(wù)器進(jìn)程的PID會自動添加到文件名后面。

安全

最好不要將此文件放在任何人都可以具有寫權(quán)限的目錄(比如/var/tmp)中,因?yàn)閯e人可以通過建立一個與服務(wù)器企圖建立的鎖文件同名的文件,來阻止服務(wù)器啟動,從而造成一個拒絕服務(wù)攻擊。

參見

MaxClients 指令

說明 允許同時伺服的最大接入請求數(shù)量
語法 MaxClients number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 beos, prefork, worker

MaxClients指令設(shè)置了允許同時伺服的最大接入請求數(shù)量。任何超過MaxClients限制的請求都將進(jìn)入等候隊列,直到達(dá)到ListenBacklog指令限制的最大值為止。一旦一個鏈接被釋放,隊列中的請求將得到服務(wù)。

對于非線程型的MPM(也就是prefork),MaxClients表示可以用于伺服客戶端請求的最大子進(jìn)程數(shù)量,默認(rèn)值是256。要增大這個值,你必須同時增大ServerLimit

對于線程型或者混合型的MPM(也就是beosworker),MaxClients表示可以用于伺服客戶端請求的最大線程數(shù)量。線程型的beos的默認(rèn)值是50。對于混合型的MPM默認(rèn)值是16(ServerLimit)乘以25(ThreadsPerChild)的結(jié)果。因此要將MaxClients增加到超過16個進(jìn)程才能提供的時候,你必須同時增加ServerLimit的值。

MaxMemFree 指令

說明 主內(nèi)存分配程序在未調(diào)用free()的情況下允許持有的最大自由內(nèi)存數(shù)量(KB)
語法 MaxMemFree KBytes
默認(rèn)值 MaxMemFree 0
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, prefork, worker, mpm_winnt

MaxMemFree指令用于設(shè)置主內(nèi)存分配程序在未調(diào)用free()的情況下允許持有的最大自由內(nèi)存數(shù)量(KB)。若未設(shè)置或設(shè)置為"0",將表示無限制。

MaxRequestsPerChild 指令

說明 每個子進(jìn)程在其生存期內(nèi)允許伺服的最大請求數(shù)量
語法 MaxRequestsPerChild number
默認(rèn)值 MaxRequestsPerChild 10000
作用域 server config
狀態(tài) MPM
模塊 mpm_netware, mpm_winnt, mpmt_os2, prefork, worker

MaxRequestsPerChild指令設(shè)置每個子進(jìn)程在其生存期內(nèi)允許伺服的最大請求數(shù)量。到達(dá)MaxRequestsPerChild的限制后,子進(jìn)程將會結(jié)束。如果MaxRequestsPerChild為"0",子進(jìn)程將永遠(yuǎn)不會結(jié)束。

不同的默認(rèn)值

mpm_netware

MaxRequestsPerChild設(shè)置成非零值有兩個好處:

注意

對于KeepAlive鏈接,只有第一個請求會被計數(shù)。事實(shí)上,它改變了每個子進(jìn)程限制最大鏈接數(shù)量的行為。

MaxSpareThreads 指令

說明 最大空閑線程數(shù)
語法 MaxSpareThreads number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, mpmt_os2, worker

設(shè)置最大空閑線程數(shù)。不同的MPM對這個指令的處理是不一樣的:

beosmpmt_os2的工作方式與mpm_netware差不多,

參見

MinSpareThreads 指令

說明 最小空閑線程數(shù)
語法 MinSpareThreads number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, mpmt_os2, worker

設(shè)置最小空閑線程數(shù),用于處理可能到來的突發(fā)請求。不同的MPM對這個指令的處理是不一樣的:

beosmpmt_os2的工作方式與mpm_netware差不多,

參見

PidFile 指令

說明 服務(wù)器用于記錄父進(jìn)程(監(jiān)控進(jìn)程)PID的文件
語法 PidFile filename
默認(rèn)值 PidFile logs/httpd.pid
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_winnt, mpmt_os2, prefork, worker

PidFile指令設(shè)置服務(wù)器用于記錄父進(jìn)程(監(jiān)控進(jìn)程)PID的文件。如果指定的不是絕對路徑,那么將視為基于ServerRoot的相對路徑。

示例

PidFile /var/run/apache.pid

這個文件通常用來便于給服務(wù)器父進(jìn)程發(fā)送一個信號,用于關(guān)閉或重啟服務(wù)器,以重新打開ErrorLogPidFile記錄的進(jìn)程PID。

PidFile和其他日志文件一樣要注意放置位置和安全問題。

注意

從Apache2開始,推薦使用apachectl腳本來啟動或停止服務(wù)器。

ReceiveBufferSize 指令

說明 TCP接收緩沖區(qū)大小(字節(jié))
語法 ReceiveBufferSize bytes
默認(rèn)值 ReceiveBufferSize 0
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker

這個指令設(shè)置服務(wù)器的TCP接收緩沖區(qū)的大小(字節(jié))。提高這個值會導(dǎo)致兩個后果:高速度和高潛伏時間(100ms左右)。

如果設(shè)置為"0",將使用操作系統(tǒng)默認(rèn)值。

ScoreBoardFile 指令

說明 存儲子進(jìn)程協(xié)調(diào)數(shù)據(jù)(coordination data)的文件
語法 ScoreBoardFile file-path
默認(rèn)值 ScoreBoardFile logs/apache_status
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_winnt, prefork, worker

Apache使用記分板(scoreboard)在父進(jìn)程和子進(jìn)程之間進(jìn)行通信。一些體系結(jié)構(gòu)要求有一個文件來幫助通信。如果未指定這個文件,Apache會首先嘗試在匿名共享內(nèi)存中建立完整的記分板(scoreboard),若失敗,將繼續(xù)嘗試使用基于文件的共享存儲器在磁盤上建立這個文件。若利用這個指令指定這個文件的位置,則Apache將總是在磁盤上建立這個文件。

示例

ScoreBoardFile /var/run/apache_status

基于文件的共享存儲器對于使用直接訪問記分板(scoreboard)的第三方程序是很有用的。

ScoreBoardFile放置在RAM disk中會對速度提升有很大幫助。但是同其他日志文件一樣也要注意放置位置和安全問題。

參見

SendBufferSize 指令

說明 TCP發(fā)送緩沖區(qū)大小(字節(jié))
語法 SendBufferSize bytes
默認(rèn)值 SendBufferSize 0
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker

這個指令設(shè)置服務(wù)器的TCP發(fā)送緩沖區(qū)的大小(字節(jié))。提高這個值會導(dǎo)致兩個后果:高速度和高潛伏時間(100ms左右)。

如果設(shè)置為"0",將使用操作系統(tǒng)默認(rèn)值。

ServerLimit 指令

說明 服務(wù)器允許配置的進(jìn)程數(shù)上限
語法 ServerLimit number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 prefork, worker

對于preforkMPM,這個指令設(shè)置了MaxClients最大允許配置的數(shù)值。對于workerMPM,這個指令和ThreadLimit結(jié)合使用設(shè)置了MaxClients最大允許配置的數(shù)值。任何在重啟期間對這個指令的改變都將被忽略,但對MaxClients的修改卻會生效。

使用這個指令時要特別當(dāng)心。如果將ServerLimit設(shè)置成一個高出實(shí)際需要許多的值,將會有過多的共享內(nèi)存被分配。如果將ServerLimitMaxClients設(shè)置成超過系統(tǒng)的處理能力,Apache可能無法啟動,或者系統(tǒng)將變得不穩(wěn)定。

對于preforkMPM,只有在你需要將MaxClients設(shè)置成高于默認(rèn)值256的時候才需要使用這個指令。要將此指令的值保持和MaxClients一樣。

對于workerMPM,只有在你需要將MaxClientsThreadsPerChild設(shè)置成需要超過默認(rèn)值16個子進(jìn)程的時候才需要使用這個指令。不要將該指令的值設(shè)置的比MaxClients ThreadsPerChild需要的子進(jìn)程數(shù)量高。

注意

Apache在編譯時內(nèi)部有一個硬限制"ServerLimit 20000"(對于ServerLimit 200000")。你不能超越這個限制。

參見

StartServers 指令

說明 服務(wù)器啟動時建立的子進(jìn)程數(shù)
語法 StartServers number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 mpmt_os2, prefork, worker

StartServers指令設(shè)置了服務(wù)器啟動時建立的子進(jìn)程數(shù)量。因?yàn)樽舆M(jìn)程數(shù)量動態(tài)的取決于負(fù)載的輕重,所有一般沒有必要調(diào)整這個參數(shù)。

不同的MPM默認(rèn)值也不一樣。對于

StartThreads 指令

說明 服務(wù)器啟動時建立的線程數(shù)
語法 StartThreads number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 beos, mpm_netware

設(shè)置了服務(wù)器啟動時建立的線程數(shù)量。因?yàn)榫€程數(shù)量動態(tài)的取決于負(fù)載的輕重,所有一般沒有必要調(diào)整這個參數(shù)。

對于mpm_netware ,默認(rèn)值是"50",由于只有一個進(jìn)程,因此所有的線程都將用于伺服請求。

對于beos ,默認(rèn)值是"10",同樣也是所有的線程都將用于伺服請求。

ThreadLimit 指令

說明 每個子進(jìn)程可配置的線程數(shù)上限
語法 ThreadLimit number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 mpm_winnt, worker
兼容性 僅用于2.0.41及以后版本的mpm_winnt

這個指令設(shè)置了每個子進(jìn)程可配置的線程數(shù)ThreadsPerChild上限。任何在重啟期間對這個指令的改變都將被忽略,但對ThreadsPerChild的修改卻會生效。

使用這個指令時要特別當(dāng)心。如果將ThreadLimit設(shè)置成一個高出ThreadsPerChild實(shí)際需要很多的值,將會有過多的共享內(nèi)存被分配。如果將ThreadLimitThreadsPerChild設(shè)置成超過系統(tǒng)的處理能力,Apache可能無法啟動,或者系統(tǒng)將變得不穩(wěn)定。該指令的值應(yīng)當(dāng)和ThreadsPerChild可能達(dá)到的最大值保持一致。

對于mpm_winnt,ThreadLimit的默認(rèn)值是1920;對于其他MPM這個值是64。

注意

Apache在編譯時內(nèi)部有一個硬性的限制"ThreadLimit 20000"(對于ThreadLimit 15000"),你不能超越這個限制。

ThreadsPerChild 指令

說明 每個子進(jìn)程建立的線程數(shù)
語法 ThreadsPerChild number
默認(rèn)值 參見下面的說明
作用域 server config
狀態(tài) MPM
模塊 mpm_winnt, worker

這個指令設(shè)置了每個子進(jìn)程建立的線程數(shù)。子進(jìn)程在啟動時建立這些線程后就不再建立新的線程了。如果使用一個類似于mpm_winnt只有一個子進(jìn)程的MPM,這個數(shù)值要足夠大,以便可以處理可能的請求高峰。如果使用一個類似于worker有多個子進(jìn)程的MPM,每個子進(jìn)程所擁有的所有線程的總數(shù)要足夠大,以便可以處理可能的請求高峰。

對于mpm_winnt,ThreadsPerChild的默認(rèn)值是64;對于其他MPM是25。

ThreadStackSize 指令

說明 處理客戶端連接的線程使用的棧尺寸(字節(jié))
語法 ThreadStackSize size
默認(rèn)值 NetWare上為65536;其它平臺上等于操作系統(tǒng)默認(rèn)值
作用域 server config
狀態(tài) MPM
模塊 mpm_netware, mpm_winnt, worker
兼容性 僅在 Apache 2.1 及以后的版本中可用

ThreadStackSize指令設(shè)置了處理客戶端連接(包括調(diào)用模塊以協(xié)助處理)的線程允許使用的最大棧尺寸(字節(jié))。在大多數(shù)情況下,操作系統(tǒng)默認(rèn)的棧尺寸很合理,但是在某些情況下,需要調(diào)整這個值:

  • 在默認(rèn)棧尺寸較小的平臺上(比如HP-UX),Apache可能會在使用一些需要較大棧尺寸的第三方模塊時崩潰。這樣的問題可以通過將ThreadStackSize設(shè)置為一個較大的值來解決。這種調(diào)整應(yīng)當(dāng)僅僅在第三方模塊提供者明確要求的情況下才需要,或者是您通過診斷確定是由于??臻g太小而導(dǎo)致崩潰。
  • 在某些平臺上,如果默認(rèn)的??臻g大于服務(wù)器運(yùn)行所需空間,那么將ThreadStackSize值降低到小于操作系統(tǒng)默認(rèn)值可以讓每個進(jìn)程中允許生成的最大線程數(shù)量增加。這種類型的調(diào)整應(yīng)該僅在測試環(huán)境中使用,并且對所有服務(wù)器進(jìn)程進(jìn)行充分的測試,因?yàn)樘幚砟承┖币姷恼埱笮枰^大的??臻g。一個很小的服務(wù)器配置變化就有可能使得當(dāng)前的ThreadStackSize設(shè)置變得不合適。

User 指令

說明 實(shí)際服務(wù)于請求的子進(jìn)程運(yùn)行時的用戶
語法 User unix-userid
默認(rèn)值 User #-1
作用域 server config
狀態(tài) MPM
模塊 prefork, worker
兼容性 2.0版本起僅在全局服務(wù)器配置中可用

User指令用于設(shè)置實(shí)際提供服務(wù)的子進(jìn)程的用戶。為了使用這個指令,服務(wù)器必須以root身份啟動和初始化。如果你以非root身份啟動服務(wù)器,子進(jìn)程將不能夠切換至非特權(quán)用戶,并繼續(xù)以啟動服務(wù)器的原始用戶身份運(yùn)行。如果確實(shí)以root用戶啟動了服務(wù)器,那么父進(jìn)程將仍然以root身份運(yùn)行。Unix-userid是下列值之一:

一個用戶名
通過用戶名引用用戶
"#"號后面跟一個用戶編號
通過用戶編號引用用戶

用于運(yùn)行子進(jìn)程的用戶必須是一個沒有特權(quán)的用戶,這樣才能保證子進(jìn)程無權(quán)訪問那些不想為外界所知的文件,同樣的,該用戶亦需沒有執(zhí)行那些不應(yīng)當(dāng)被外界執(zhí)行的程序的權(quán)限。強(qiáng)烈推薦你專門為Apache子進(jìn)程建立一個單獨(dú)的用戶和組。一些管理員使用nobody用戶,但是這并不能總是符合要求,因?yàn)榭赡苡衅渌绦蛞苍谑褂眠@個用戶。

安全

不要將User(或Group)設(shè)置成root ,除非你明確知道自己在做什么,并且明白其風(fēng)險所在。

特別提示:在<VirtualHost>段中使用該指令已經(jīng)不再被支持了。你可以使用suexecSuexecUserGroup指令來達(dá)到這個目的。

注意

雖然User指令也存在于beosmpmt_os2MPM中,但是事實(shí)上沒用任何用處,只不過是個擺飾罷了。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服