码迷,mamicode.com
首页 > Web开发 > 详细

LNMP环境搭建——Apache篇

时间:2015-08-01 01:06:37      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:apache   dso   mpm   prefork   worker   

技术分享

1.Apache DSO(Dynamic Shared Object)

(1) 查看已编译模块:

[root@kallen ~]# httpd -M
Loaded 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 -l
Compiled 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 -V
Server version: Apache/2.2.15 (Unix)
Server built: Aug 2 2013 08:02:15
Server‘s Module Magic Number: 20051115:25
Server loaded: APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture: 64-bit
Server 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设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小;

<IfModule prefork.c>
StartServers            8 
MinSpareServers         5 
MaxSpareServers         20 
ServerLimit             256 
MaxClients              256 
MaxRequestsPerChild     4000 
</IfModule> 

Worker线程化、多进程型MPM

由于使用线程来处理请求,可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。控制这个MPM的最重要的指令是,控制每个子进程允许建立的线程数的ThreadsPerChild,和控制允许建立的总线程数的MaxClients指令;

 <IfModule worker.c>
StartServers            4
MaxClients              300
MinSpareThreads         25
MaxSpareThreads         75
ThreadsPerChild         25
MaxRequestsPerChild     0
</IfModule> 

】文中所指的LNMP泛指LAMPLNMP.


热门推荐


版权声明:本文为博主原创文章,未经博主允许不得转载|Copyright ©2011-2015, Kallen Ding, All Rights Reserved.

LNMP环境搭建——Apache篇

标签:apache   dso   mpm   prefork   worker   

原文地址:http://blog.csdn.net/beautifulencounter/article/details/46708231

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!