【CentOS7】Apache2.4のconfファイルの設定について
http://blog.wnotes.net/blog/article/apache-event-mpm
ソースコンパイルからインストールだと、eventになるってことなのかな??
CentOS7でyumでインストールしたものは、preforkだったんだけど。。。
インストールするOSによって設定が違うのかも。。。
Apache2.4からhttpd.confにpreforkの記述がないのと、CentOS7でのyumインストールでは、preforkの設定ファイルがありません。
なので、
「/etc/httpd/conf.d/」の中に「mpm.conf」っていうファイルを新規作成して設定しました。
※ファイル名は「.conf」がついていればなんでもいいと思います。
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 256 MaxRequestWorkers 256 MaxConnectionsPerChild 1000 </IfModule>
※プロセスが多くなればメモリの使用量も増えるためシステムの負荷を見て調整してください。
設定が反映されているかどうかは、プロセスの起動数を見て確認しました。
下記のサイト様に記載されているコマンドでapache(httpd)のプロセスの数がわかります。
ps aux | grep httpd | grep -v "\(root\|grep\)" | wc -l
apacheの設定ファイルを編集した後、反映させるには「reload」ではダメだったので、
service httpd stop service httpd start
にて設定が反映されていることを確認できました。
下記のサイト様の「ServerLimit」の備考で気付きました。(汗
「reload」で「ServerLimit」を256以上にしても反映されなかったので、助かりました。
ServerLimit 256の限界
Apacheのプロセス数が256以上溜まっている状態が続くと、サイト閲覧するタイミングによっては、画面が真っ白まま何も表示されなくなるので、メモリに余裕があればServerLimitを増やすか、ロードバランサーを使い、サーバを分散したほうがいいと思います。
※サーバのスペックによりますが、メモリが少ないサーバは、WEBとDBを切り分けたほうが良さそうです。もちろん、サーバ内に入っているサイトやシステムによります。サーバの増設の前にプログラムで解決できないか増設前にチェックしましょう~。
Apache2.4でのアクセス制限の記事を書きました。
zen6a.hateblo.jp