Apache httpd.conf配置文件 1(Global Environment )

Apache 版本: Server version: Apache/2.2.15 html

總計 1000行左右web

英文前帶井號的是註釋,不起做用。    apache

但不少註釋去掉前方的  #  便可生效。安全



#服務器

# This is the main Apache server configuration file.  It contains the  這是Apache服務器主要配置文件網絡

# configuration directives that give the server its instructions.  它包含影響服務器運行的配置指令多線程

# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. 這裏是詳細的信息併發

# In particular, see   尤爲是看app

# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>ide

# for a discussion of each configuration directive.   每項配置的討論  

#

#

# Do NOT simply read the instructions in here without understanding 
不要只是簡單的閱讀這些指令信息而不去理解它

# what they do.  They're here only as hints or reminders.  If you are unsure

# consult the online docs. You have been warned. 

#這裏只是作了簡單的提示提醒,若是你沒有參考在線文件,你就會被警告


# The configuration directives are grouped into three basic sections:這些配置指令被分爲下面三個部分


#  1. Directives that control the operation of the Apache server process as a

#     whole (the 'global environment').控制整個Apache服務器行爲的部分(即全局環境變量)


#  2. Directives that define the parameters of the 'main' or 'default' server,定義主要和默認服務指令的參數

#     which responds to requests that aren't handled by a virtual host.對請求做出響應,並不是由一個虛擬主機處理

#     These directives also provide default values for the settings  也爲所有虛擬主機提供默認參數

#     of all virtual hosts.


#  3. Settings for virtual hosts, which allow Web requests to be sent to設置虛擬主機,容許web請求發送給不一樣iIP

#     different IP addresses or hostnames and have them handled by the或主機名,這些請求的處理經過同一個

#     same Apache server process.                                                            Apache服務進程。

#

# Configuration and logfile names: If the filenames you specify for many配置和日誌名稱

# of the server's control files begin with "/" (or "drive:/" for Win32), the   文件名開頭帶/使用絕對路徑,不帶/使用

# server will use that explicit path.  If the filenames do *not* begin       相對路徑,相對於服務器根目錄。

# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"  舉例說明,相對路徑文件logs/foo.log 相對

# with ServerRoot set to "/etc/httpd" will be interpreted by the      路徑爲/etc/httpd,則路徑被解釋爲

# server as "/etc/httpd/logs/foo.log".                                              /etc/httpd/logs/foo.log

#

 

### Section 1: Global Environment         第一部分,全局環境

#

# The directives in this section affect the overall operation of Apache, 這一部分指令會影響整個apache操做

# such as the number of concurrent requests it can handle or where it 例如Apache可以處理的併發請求的數量

# can find its configuration files.                                                             或者配置文件地址

#

 

#

# Don't give away too much information about all the subcomponents 不要泄露太多信息關於正在運行的組件信息

# we are running.  Comment out this line if you don't mind remote sites  註釋掉這一行,若是你不介意遠程站點

# finding out what major optional modules you are running                    發現你正在運行的其它模塊


ServerTokens OS                                      此指令控制了Server回送給客戶端的迴應頭域是否包含
                                                                   關於服務器OS類型和編譯進的模塊描信息
                                                                   服務器會發送(好比說):Server: Apache/2.0.41
                                                                   注意:在使用ServerTokens指令時要先啓用ServerSignature指令

 



#

ServerRoot: The top of the directory tree under which the server's  ServerRoot服務根目錄這個頂級目錄樹下

# configuration, error, and log files are kept.                                            是服務器配置、錯誤、日誌 文件

#

# NOTE!  If you intend to place this on an NFS (or otherwise network)  注意 若是你打算放置上述在NFS或其它網絡

# mounted filesystem then please read the LockFile documentation       位置文件系統,請必定閱讀 LockFile 文檔

# (available at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);

# you will save yourself a lot of trouble.                                                你本身也會解決不少問題

#

# Do NOT add a slash at the end of the directory path.                      不要增長斜線 在目錄路徑的結尾

#

ServerRoot "/etc/httpd"                                                                   ServerRoot 服務器根目錄……

 



#

# PidFile: The file in which the server should record its process  Pid文件: 服務器記錄啓動時進程號的文件

# identification number when it starts.  Note the PIDFILE variable in     注意 若是文件位置改變 文件變量必須在……

# /etc/sysconfig/httpd must be set appropriately if this location is        設置好

# changed.

#                                                                                                          apache進程的進程號文件存放位置

PidFile run/httpd.pid          

 


#

# Timeout: The number of seconds before receives and sends time out.       接收和發生超時信息的時間(秒)

#

Timeout 60

 


#

# KeepAlive: Whether or not to allow persistent connections (more than  是否容許保持鏈接(On 則每一個鏈接能夠傳遞多個請求)

# one request per connection). Set to "Off" to deactivate.    設置off爲 無效 停用(則一次鏈接能響應一個請求,而一個請求通常只傳輸一個文件)

#                               (若一個頁面有多個文件,設置爲On可明顯提升響應速度)

KeepAlive Off

 



#

# MaxKeepAliveRequests: The maximum number of requests to allow 最大請求數一次鏈接期間容許的最大請求數

# during a persistent connection. Set to 0 to allow an unlimited amount.  設置爲0 則不限制數量

# We recommend you leave this number high, for maximum performance. 咱們推薦你設置較高的數 爲了更好性能

#

MaxKeepAliveRequests 100

 


#

# KeepAliveTimeout: Number of seconds to wait for the next request from the 同一鏈接 等待下次請求 秒數

# same client on the same connection.                                                             來自同一用戶

#                                                                                              (KeepAlive 的超時時間爲 15 秒種)

KeepAliveTimeout 15

 







##

## Server-Pool Size Regulation (MPM specific)                           服務器-池  大小規則 (針對MPM)

##                                                                                           MPM:Multi-Processing Module 多路處理模塊

                                                                                               這裏MPM有兩種模式  prefork模式   worker模式


提早說明 選擇使用哪一種mpm模塊,須要在安裝apache時指定,例如:

Apache 2.0中如何指定MPM
#tar -xvzf httpd-2.0.59.tar.gz
#cd httpd-2.0.59
#./configure --help|grep mpm
--with-mpm=MPM Choose the process model for Apache to use.
MPM={beos|worker|prefork|mpmt_os2|perchild|leader|threadpool}
上述操做用來選擇要使用的進程模型,即哪一種MPM模塊

    若是不用「--with-mpm」顯式指定某種MPMprefork就是Unix平臺上缺省的MPM。它所採用的預派生子進程方式也是Apache 1.3中採用的模式。prefork自己並無使用到線程2.0版使用它是爲了與1.3版保持兼容性;另外一方面,prefork用單獨的子進程來處理不一樣的請求,進程之間是彼此獨立的,這也使其成爲最穩定的MPM之一
 

 我以worker模式進行編譯安裝 
  # ./configure --prefix=/opt/apache --with-mpm=worker --enable-module=so  


安裝完成後,可使用 httpd -l  來查看使用的哪一種mpm 
     
[root@localhost ~]# httpd -l

Compiled in modules:

  core.c

  prefork.c

  http_core.c

  mod_so.c



prefork模式:欲派生,多進程

         一個單獨的控制進程(父進程)負責產生子進程,這些子進程用於監聽請求並做出應答。Apache老是試圖保持一些備用的(spare)或者是空閒的子進程用於迎接即將到來的請求。這樣客戶端就不須要在獲得服務前等候子進程的產生。
       
這個多路處理模塊(MPM)實現了一個非線程型的、預派生的web服務器 。
       欲派生模式 prefork是Unix平臺上的默認(缺省)MPM,使用多個子進程,每一個子進程只有一個線程。每一個進程在某個肯定的時間只能維持一個鏈接,效率高,但內存佔用量比較大 

    這個多路處理模塊(MPM)實現了一個非線程型的、預派生的web服務器,它的工做方式相似於Apache 1.3。它適合於沒有線程安全庫,須要避免線程兼容性問題的系統。它是要求將每一個請求相互獨立的狀況下最好的MPM,這樣若一個請求出現問題就不會影響到其餘請求。

      prefork的工做原理是,控制進程在最初創建「StartServers」個子進程後,爲了知足MinSpareServers設置的須要建立一個進程,等待一秒鐘,繼續建立兩個,再等待一秒鐘,繼續建立四個……如此按指數級增長建立的進程數,最多達到每秒32個,直到知足MinSpareServers設置的值爲止。這就是預派生(prefork)的由來。這種模式能夠沒必要在請求到來時再產生新的進程,從而減少了系統開銷以增長性能。
    
MaxSpareServers設置了最大的空閒進程數,若是空閒進程數大於這個值,Apache會自動kill掉一些多餘進程。這個值不要設得過大,但若是設的值比MinSpareServers小,Apache會自動把其調整爲MinSpareServers+1。若是站點負載較大,可考慮同時加大MinSpareServersMaxSpareServers 
    MaxRequestsPerChild設置的是每一個子進程可處理的請求數。每一個子進程在處理了「MaxRequestsPerChild」個請求後將自動銷燬。0意味着無限,即子進程永不銷燬。雖然缺省設爲0可使每一個子進程處理更多的請求。
    但若是設成非零值也有兩點重要的好處:
 
     
◆ 可防止意外的內存泄漏; 
     ◆ 在服務器負載降低的時侯會自動減小子進程數。 
    
    所以,可根據服務器的負載來調整這個值。筆者認爲
10000左右比較合適。
    
MaxClients是這些指令中最爲重要的一個,設定的是Apache能夠同時處理的請求,是對Apache性能影響最大的參數。其缺省值150是遠遠不夠的,若是請求總數已達到這個值(可經過 ps -ef|grep http|wc -l 來確認),那麼後面的請求就要排隊,直到某個已處理請求完畢。這就是系統資源還剩下不少而HTTP訪問卻很慢的主要緣由。系統管理員能夠根據硬件配置和負載狀況來動態調整這個值。雖然理論上這個值越大,能夠處理的請求就越多,但Apache默認的限制不能大於256若是把這個值設爲大於256,那麼Apache將沒法起動。事實上,256對於負載稍重的站點也是不夠的。Apache 1.3中,這是個硬限制。若是要加大這個值,必須在「configure」前手工修改的源代碼樹下src/include/httpd.h中查找256,就會發現「#define HARD_SERVER_LIMIT 256」這行。把256改成要增大的值(如4000),而後從新編譯Apache便可。在Apache 2.0中新加入了ServerLimit指令,使得無須重編譯Apache就能夠加大MaxClients




# prefork MPM                                預建立(欲派生) MPM

# StartServers: number of server processes to start        啓動時服務器啓動的進程數 

# MinSpareServers: minimum number of server processes which are kept spare    保存備用的最小服務進程數(最小空閒子進程數)
       
所謂空閒子進程是指沒有正在處理請求的子進程,
      
若是你將該指令的值設置爲比MinSpareServers小,Apache將會自動將其修改爲"MinSpareServers+1

# MaxSpareServers: maximum number of server processes which are kept spare 保存備用的最大服務進程數(最大空閒子進程數)
           
若是當前有超過MaxSpareServers數量的空閒子進程,那麼父進程將殺死多餘的子進程

# ServerLimit: maximum value for MaxClients for the lifetime of the server   apache子進程最多個數;參見*下方註釋

# MaxClients: maximum number of server processes allowed to start         服務器容許啓動的最大請求併發數(同時響應客戶數)

# MaxRequestsPerChild: maximum number of requests a server process serves   * 一個服務子進程容許的最大請求數

<IfModule prefork.c>                                                                                           (到達限制就釋放從新創建)

StartServers       8     apache開始運行時,馬上啓動8個服務器子進程

MinSpareServers    5

MaxSpareServers   20

ServerLimit      256     *MaxClients最大爲256,其若繼續增大則要加上ServerLimit這個參數,生效前提:必須放在其                                     它指令的前面,對於preforkMPM,只有在你須要將MaxClients設置成高於默認值256的時候才須要使用這個指令。要將此指令的值保持和MaxClients同樣

MaxClients       256    最大子進程數量,默認爲256。任何超過MaxClients限制的請求都將進入等候隊列,一                                  旦一個連接被釋放,隊列中的請求將獲得服務。要增大這個值,你必須同時增大ServerLimit

MaxRequestsPerChild  4000    *每一個子進程在其生存期內容許伺服的最大請求數量到達MaxRequestsPerChild的限制後,子進程將會結束。若是 MaxRequestsPerChild爲"0",子進程將永遠不會結束。將MaxRequestsPerChild設置成非零值有兩個好處:

1. 能夠防止(偶然的)內存泄漏無限進行,從而耗盡內存。
2. 給進程一個有限壽命,從而有助於當服務器負載減輕的時候減小活動進程的數量。

</IfModule>

 






worker模式:欲派生,多線程

       此多路處理模塊(MPM)使網絡服務器支持混合的多線程多進程。因爲使用線程來處理請求,因此能夠處理海量請求,而系統資源的開銷小於基於進程的MPM。可是,它也使用了多進程,每一個進程又有多個線程,以得到基於進程的MPM的穩定性。
       
 worker使用多個子進程,每一個子進程有多個線程,每一個線程在某個肯定的時間只能維持一個鏈接,內存佔用量比較小,適合高流量的http服務器。缺點是假如一個線程崩潰,整個進程就會連同其任何線程一塊兒」死掉」,因此要保證一個程式在運行時必須被系統識別爲」每一個線程都是安全的」。 
      能夠處理海量請求,而系統資源的開銷小於基於進程的MPM。可是它也使用了多進程,每一個進程又有多個線程,以得到基於進程的MPM的穩定性。

       worker2.0 版中全新的支持多線程和多進程混合模型的MPM因爲使用線程來處理,因此能夠處理相對海量的請求,而系統資源的開銷要小於基於進程的服務器。可是,worker也使用了多進程,每一個進程又生成多個線程,以得到基於進程服務器的穩定性。這種MPM的工做方式將是Apache 2.0的發展趨勢。 




# worker MPM                                 worker 模式 MPM  

# StartServers: initial number of server processes to start                       服務器啓動時創建的初始子進程數  每一個子進程中包含固                                                                              定的ThreadsPerChild線程數,各個線程獨立地處理請求

# MaxClients: maximum number of simultaneous client connections          同時鏈接的最大用戶數目 MaxClients設置了全部子進程中的線程總數

# MinSpareThreads: minimum number of worker threads which are kept spare     保有的最小空閒工做線程數

         這個MPM將基於整個服務器監視空閒線程數。若是服務器中總的空閒線程數太少,子進程將產生新的空閒線程。

# MaxSpareThreads: maximum number of worker threads which are kept spare   保有的最大空閒工做線程數
           
這個MPM將基於整個服務器監視空閒線程數。若是服務器中總的空閒線程數太多,子進程將殺死多餘的空閒線程。

            Apache老是試圖維持一個備用(spare)或是空閒的服務線程池。這樣,客戶端無須等待新線程或新進程的創建便可獲得處理。初始化時         創建的進程數量由StartServers指令決定。隨後父進程檢測全部子進程中空閒線程的總數,並新建或結束子進程使空閒線程的總數維             持在MinSpareThreadsMaxSpareThreads所指定的範圍內。因爲這個過程是自動調整的,幾乎沒有必要修改這些指令的缺省值。能夠         並行處理的客戶端的最大數量取決於MaxClients指令。活動子進程的最大數量取決於MaxClients除以ThreadsPerChild的值

# ThreadsPerChild: constant number of worker threads in each server process     *每一個服務進程中的工做線程常數 

# MaxRequestsPerChild: maximum number of requests a server process serves    服務進程中容許的最大請求數目

-

<IfModule worker.c>

StartServers         4        

MaxClients         300

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25  每一個子進程創建的常駐的執行線程數,默認值25子進程在啓動時創建這些線程後就再也不創建新的線程

MaxRequestsPerChild  0     每一個子進程在其生存期內容許伺服的最大請求數量。到達MaxRequestsPerChild的限制後, 

</IfModule>                       子進程將會結束。若是MaxRequestsPerChild爲"0",子進程將永遠不會結束             


    MinSpareThreadsMaxSpareThreads的最大缺省值分別是75250。這兩個參數對Apache的性能影響並不大,能夠按照實際狀況相應調節。 
    ThreadsPerChild
worker MPM中與性能相關最密切的指令ThreadsPerChild的最大缺省值是64,若是負載較大,64也是不夠的。這時要顯式使用ThreadLimit指令,它的最大缺省值是20000。上述兩個值位於源碼樹server/mpm/worker/worker.c中的如下兩行: 

#define DEFAULT_THREAD_LIMIT 64 
#define MAX_THREAD_LIMIT 20000 
    這兩行對應着ThreadsPerChildThreadLimit的限制數。最好在configure以前就把64改爲所但願的值。注意,不要把這兩個值設得過高,超過系統的處理能力,從而因Apache不起動使系統很不穩定。
    Worker模式下所能同時處理的請求總數是由子進程總數乘以ThreadsPerChild值決定的,應該大於等於MaxClients若是負載很大,現有的子進程數不能知足時,控制進程會派生新的子進程。默認最大的子進程總數是16,加大時也須要顯式聲明ServerLimit(最大值是20000)。這兩個值位於源碼樹server/mpm/worker/worker.c中的如下兩行: 

#define DEFAULT_SERVER_LIMIT 16 
#define MAX_SERVER_LIMIT 20000 

    須要注意的是,若是顯式聲明瞭ServerLimit,那麼它乘以ThreadsPerChild的值必須大於等於MaxClients,並且MaxClients必須是ThreadsPerChild的整數倍,不然Apache將會自動調節到一個相應值(多是個非指望值)



 

#

# Listen: Allows you to bind Apache to specific IP addresses and/or  容許你綁定特定的IP地址或者端口  以取代默認值

# ports, in addition to the default. See also the <VirtualHost>           能夠參考……指令

# directive.

#

# Change this to Listen on specific IP addresses as shown below to    用特定的IP改變監聽端口  以下所示 防止Apache綁定0.0.0.0 IP

# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)   

#

#Listen 12.34.56.78:80                                                           例如:綁定監聽IP 爲12.34.56.78    端口 80 

Listen 80                                                                                   監聽端口:80

 

 

 

 


 

DSO:       動態共享對象支持 它是現代Unix派生出來的操做系統都存在着的一種動態鏈接機制。
它提供了一種在運行時將特殊格式的代碼,在程序運行須要時,將須要的部分從外存調入內存執行的方法

#

# Dynamic Shared Object (DSO) Support                   動態共享對象支持

#

# To be able to use the functionality of a module which was built as a DSO you   爲了可以使用那些以DSO模式編譯的模塊中的函數,

# have to place corresponding `LoadModule' lines at this location so the             你必須有相應的「LoadModule」行   所以,在這裏包含了

# directives contained in it are actually available _before_ they are used.               這些指令,以便能在使用它以前激活

# Statically compiled modules (those listed by `httpd -l') do not need                    那些靜態編譯的模塊不須要在這裏列出

# to be loaded here.                                                                                              (使用httpd -l 命令能夠列出這些模塊)

#

# Example:                             好比

# LoadModule foo_module modules/mod_foo.so

#

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule authn_file_module modules/mod_authn_file.so

LoadModule authn_alias_module modules/mod_authn_alias.so

LoadModule authn_anon_module modules/mod_authn_anon.so

LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_module modules/mod_authn_default.so

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule authz_owner_module modules/mod_authz_owner.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_module modules/mod_authz_default.so

LoadModule ldap_module modules/mod_ldap.so

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

LoadModule include_module modules/mod_include.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule logio_module modules/mod_logio.so

LoadModule env_module modules/mod_env.so

LoadModule ext_filter_module modules/mod_ext_filter.so

LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule expires_module modules/mod_expires.so

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

LoadModule usertrack_module modules/mod_usertrack.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule mime_module modules/mod_mime.so

LoadModule dav_module modules/mod_dav.so

LoadModule status_module modules/mod_status.so

LoadModule autoindex_module modules/mod_autoindex.so

LoadModule info_module modules/mod_info.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule dir_module modules/mod_dir.so

LoadModule actions_module modules/mod_actions.so

LoadModule speling_module modules/mod_speling.so

LoadModule userdir_module modules/mod_userdir.so

LoadModule alias_module modules/mod_alias.so

LoadModule substitute_module modules/mod_substitute.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule cache_module modules/mod_cache.so

LoadModule suexec_module modules/mod_suexec.so

LoadModule disk_cache_module modules/mod_disk_cache.so

LoadModule cgi_module modules/mod_cgi.so

LoadModule version_module modules/mod_version.so

 




#

# The following modules are not loaded by default:                                 如下模塊默認不加載

#

#LoadModule asis_module modules/mod_asis.so

#LoadModule authn_dbd_module modules/mod_authn_dbd.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

#LoadModule cgid_module modules/mod_cgid.so

#LoadModule dbd_module modules/mod_dbd.so

#LoadModule dumpio_module modules/mod_dumpio.so

#LoadModule filter_module modules/mod_filter.so

#LoadModule ident_module modules/mod_ident.so

#LoadModule log_forensic_module modules/mod_log_forensic.so

#LoadModule unique_id_module modules/mod_unique_id.so

#

 



#

# Load config files from the config directory "/etc/httpd/conf.d".              配置文件的加載路徑是……

# Incude /usr/local/apache2/conf/ssl.conf
# Include /usr/local/apache2/conf/vhosts/*.conf           這個指令容許在服務器配置文件中加入其它配置文件

Include conf.d/*.conf                                   包括這些配置文件(將/etc/httpd/conf.d中的全部.conf結尾文件包含進來)

 

 


 


此處爲Apache的一個安全隱患,可能會暴露過多的信息給訪問者,開啓此狀態,訪問者能夠在特殊網頁看到Apache

配置信息,此處單獨寫附文1

#

# ExtendedStatus controls whether Apache will generate "full" status    擴展狀態控制     server-status 處理程序被調用時  

# information (ExtendedStatus On) or just basic information (ExtendedStatus    ExtendedStatus 爲 On時 只生成擴展信息

# Off) when the "server-status" handler is called. The default is Off.                     ExtendedStatus 爲 Off時  生成基本信息

#                                                                                                                         默認爲off

#ExtendedStatus On                                                (這裏的設置要配合後面指令段<Location/server-status>)

 

 

 

#

# If you wish httpd to run as a different user or group, you must run     若是你但願httpd進程運行在不一樣的用戶和組之間

# httpd as root initially and it will switch.                                                  你第一次運行httpd時必須使用root身份,它才能轉換

#

# User/Group: The name (or #number) of the user/group to run httpd as. 以用戶/組的名字或者編號去運行httpd

#  . On SCO (ODT 3) use "User nouser" and "Group nogroup".     在SCO ODT開放式桌面系統中用User nouser 和 Group nogroup

#  . On HPUX you may not be able to use shared memory as nobody, and the  在惠普9000系列服務器的OS中,用nobody你可能不能

#    suggested workaround is to create a user www and use that user.            使用共享內存。 建議爲工做區域創建一個用戶 www

#  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)  注意一些內核拒絕設置組標識

#  when the value of (unsigned)Group is above 60000;++                      當組變量超過60000

#  don't use Group #-1 on these systems!                                              在系統中不要使用組-1

#

User apache                                                 運行httpd的用戶和組 

Group apache

相關文章
相關標籤/搜索