LNMP環境搭建——Apache篇
1.Apache DSO(Dynamic Shared Object)(1) 查看已編譯模組:
[root@kallen ~]# httpd -MLoaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) auth_basic_module (shared) auth_digest_module (shared) authn_file_module (shared) authn_alias_module (shared)
(2) 查看靜態編譯模組:
[root@kallen ~]# httpd -lCompiled in modules: core.c prefork.c http_core.c mod_so.c
2.Apache MPM(Multi Process Modules)(1) 不同平台預設MPM:
Architecture |
MPM Type |
BeOS |
beos |
Netware |
mpm_netware |
OS/2 |
mpmt_os2 |
Unix |
prefork, worker |
Windows |
mpm_winnt |
(2) 查看當前apache服務的MPM:
[root@kallen ~]# httpd -V 或 httpd -l
[root@kallen ~]# httpd -VServer version: Apache/2.2.15 (Unix)Server built: Aug 2 2013 08:02:15Server's Module Magic Number: 20051115:25Server loaded: APR 1.3.9, APR-Util 1.3.9Compiled using: APR 1.3.9, APR-Util 1.3.9Architecture: 64-bitServer MPM: Prefork threaded: no forked: yes (variable process count)Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
Prefork:非線程、預產生進程型MPM
這個MPM具有很強的自我調節能力,只需要很少的配置指令調整。最重要的是將MaxClients設定為一個足夠大的數值以處理潛在的請求高峰,同時又不能太大,以致需要使用的記憶體超出實體記憶體的大小;
StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000
Worker:線程化、多進程型MPM
由於使用線程來處理請求,可以處理海量請求,而系統資源的開銷小於基於進程的MPM。但是,它也使用了多進程,每個進程又有多個線程,以獲得基於進程的MPM的穩定性。控制這個MPM的最重要的指令是,控制每個子進程允許建立的線程數的ThreadsPerChild,和控制允許建立的匯流排程數的MaxClients指令;
StartServers 4MaxClients 300MinSpareThreads 25MaxSpareThreads 75ThreadsPerChild 25MaxRequestsPerChild 0
【注】文中所指的LNMP泛指LAMP 或LNMP.
熱門推薦
LNMP環境搭建——Nginx篇
在RHEL6.5中配置本地YUM源
Ubuntu下Zabbix安裝及使用問題
MySQL雙主熱備問題處理
Rsync同步錯誤處理 Fix Elementary Boot Screen (plymouth)
After Installing Nvidia Drivers LNMP環境搭建——MySQL篇 Shell Step by Step (3) —— Stdin & if Shell Step by Step (4) —— Cron & Echo