M.C.P.C. (Mamesibori Creation Plus Communication)

印刷屋から五反田のWeb屋に転職したCLのブログです。

ServersMan@VPSのApacheの設定は安全志向

ServersMan@VPSのスタンダードプランをCentOS 6.3に設定して(仕事で6.3使うことが多くなったのもある)、いちから入れ直して設定を見直しているんだけれども、Apacheの設定が通常のものと違っていたのでメモ。

要は、Apacheのプロセスが生成されまくってサーバ死亡、ていうことがなくなっています。特に、PHPを取り込んで太り気味のApacheでも10プロセスしか起動しないならサーバは落ちまい。

*** httpd.conf.orig     2012-02-07 23:47:02.000000000 +0900
--- httpd.conf  2012-06-09 10:02:38.000000000 +0900
***************
*** 100,110 ****
  # MaxClients: maximum number of server processes allowed to start
  # MaxRequestsPerChild: maximum number of requests a server process serves
  <IfModule prefork.c>
! StartServers       8
! MinSpareServers    5
! MaxSpareServers   20
! ServerLimit      256
! MaxClients       256
  MaxRequestsPerChild  4000
  </IfModule>
  
--- 100,110 ----
  # MaxClients: maximum number of server processes allowed to start
  # MaxRequestsPerChild: maximum number of requests a server process serves
  <IfModule prefork.c>
! StartServers       1
! MinSpareServers    1
! MaxSpareServers    5
! ServerLimit       10
! MaxClients        10
  MaxRequestsPerChild  4000
  </IfModule>
  
***************
*** 116,125 ****
  # 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
  MaxRequestsPerChild  0
  </IfModule>
--- 116,125 ----
  # ThreadsPerChild: constant number of worker threads in each server process
  # MaxRequestsPerChild: maximum number of requests a server process serves
  <IfModule worker.c>
! StartServers       1
! MaxClients        10
! MinSpareThreads    1
! MaxSpareThreads    4
  ThreadsPerChild     25
  MaxRequestsPerChild  0
  </IfModule>

他社のVPSだと、preforkで256設定のままのVPSをよく見かけるけれども、PHP使ったらRAM足りなくなってスワップまで食い尽くしてOOM Killer発動してサーバ死ぬよね。

WebArenaのv2でMaxClientが128で引き渡ししているタイプも見たことがあるけれども、PHPを組み込まなければセーフ的な設定で、組み込むとやっぱり死ぬ。

そういう意味では、ServersMan@VPSの設定は初心者向けというか、下手こいても止まらない安全志向の設定なのだなあと思いました。