首页 > PHP开发 > LNMP环境搭建

LNMP环境搭建

Apache

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

(2) 查看静态编译模块:

[root@kallen ~]# httpd -l
Compiled in modules:
 core.c
 prefork.c
 http_core.c
 mod_so.c
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
  • 1
 [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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

Prefork非线程、预生成进程型MPM

这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小;

<IfModule prefork.c>
StartServers            8 
MinSpareServers         5 
MaxSpareServers         20 
ServerLimit             256 
MaxClients              256 
MaxRequestsPerChild     4000 
</IfModule> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Worker线程化、多进程型MPM

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

 <IfModule worker.c>
StartServers            4
MaxClients              300
MinSpareThreads         25
MaxSpareThreads         75
ThreadsPerChild         25
MaxRequestsPerChild     0
</IfModule> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

】文中所指的LNMP泛指LAMP 或LNMP.


本文固定链接: http://www.devba.com/index.php/archives/6271.html | 开发吧

报歉!评论已关闭.