タグ別アーカイブ: apache

apacheのエラーログにUnable to allocate memory for pool.


apacheのログローテーションに失敗し、apacheが起動しない不具合が発生

正確にはログローテーション後のapache再起動にに失敗しているようです。

ログローテーションをlinuxから、apacheに標準で導入されているものに

変更した方がいいのかもしれないっと思っていたところ

Unable to allocate memory for pool.のエラーが気になり

PHPキャッシュのAPCのエラーを修正してみた。

Unable to allocate memory for pool.どうやらメモリーの確保に失敗している

メッセージらしい。

そこで

apc.shm_size=32M

apc.shm_size=256M

へ大幅に値を変更してみました。

ログローテーションでapacheが再起動しなかったのは

APCが原因だったとは・・・

クライアント様に無制限で開放しているサーバーは何が起こるか分かりませんね。



サーバー監視ツール Munin apache


基本的にMuninはyumでインストールできれば、HTMLの出力先の指定程度で

利用することができる、簡単なサーバー監視ツールです。

が、標準ではapacheが設定されていません。

プラグイン自体はインストールされているので、設置されているフォルダから

リンクするなりして、apacheにも対応させます。

その際、apache側でもmod_statusが有効させておく必要があります。

最後に、mod_status側で利用しているアドレス、エイリアスをMuninに設定します。


作成されるグラフは下記の3種類(日/週)


【参考】

●Apache accesses
アクセス数

●Apache processes
プロセス数(最大、利用中、待機中)

●Apache volume
(転送バイト in/out)

Apache 2.4.1は新しいエラーを出力する mod_heartmonitor


最新WEBサーバーapache 2.4.1

最新WEBサーバーapache 2.4.1


apache2.4.1は、新しいモジュールが導入されている為、新しいエラーを出力してくれます。

いろいろと不具合も報告されていますので、実務での導入はもう少し待った方がいいかもしれませんね。

特にmod_heartmonitor。

要約
mod_heartmonitorはによって生成されたサーバのステータスメッセージをリッスンmod_heartbeat対応のオリジンサーバとのそれらのステータスが使用可能になりますmod_lbmethod_heartbeat。これにより、 ProxyPassディレクティブ “ハートビート”を使用する lbmethodを内部のProxyPassディレクティブ。

このモジュールは、サービスを使用しmod_slotmem_shm利用できる代わりに、フラット·ファイル·ストレージを。いいえ構成が使用する必要はありませんmod_slotmem_shmを。

使用するmod_heartmonitor、 mod_statusがとmod_watchdogは 、静的モジュールまたは、動的モジュール、それは前にロードする必要がある場合でなければなりませんmod_heartmonitor。

[mpm_event:notice] [pid 6458:tid 140360695191296] AH00491: caught SIGTERM, shutting down
[lbmethod_heartbeat:notice] [pid 4069:tid 140558974637824] AH02282: No slotmem from mod_heartmonitor
[mpm_event:notice] [pid 4069:tid 140558974637824] AH00489: Apache/2.4.1 (Unix) PHP/5.4.0 configured — resuming normal operations

・mod_proxy_fcgi
・mod_proxy_scgi
・mod_proxy_express
・mod_remoteip
・mod_heartmonitor、mod_lbmethod_heartbeat
・mod_proxy_html
・mod_sed
・mod_auth_form
・mod_session
・mod_allowmethods
・mod_lua
・mod_log_debug
・mod_buffer
・mod_data
・mod_ratelimit
・mod_request
・mod_reflector
・mod_slotmem_shm
・mod_xml2enc

apache2.4.1はデフォルトでいろいろなモジュールが導入・有効


apache2.4.1以前のhttpd.confのままだとそりゃエラーになりますね。

この機会にphpも最新5.4にバージョンアップしておこう。

# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule allowmethods_module modules/mod_allowmethods.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule request_module modules/mod_request.so
LoadModule filter_module modules/mod_filter.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
#LoadModule remoteip_module modules/mod_remoteip.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule unixd_module modules/mod_unixd.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
#LoadModule info_module modules/mod_info.so
#LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule dir_module modules/mod_dir.so
#LoadModule speling_module modules/mod_speling.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so

Cent OS6 apache2.4.1のインストールエラー


最新版のapache2.4.1はnginxより早い?!っと言った社内の話題に乗っかって

自分のテスト環境をバージョンアップするも

いろいろなエラーがでててんやわんやです。


まず、必ず発生するのはapr関係のエラーです。外部のモジュールになった?aprはバージョンの指定とともに

エラーを出力してきます。

これは、最新のバージョンをコンパイルしてインストールすればすぐ解決します。


# wget http://ftp.riken.jp/net/apache//apr/apr-1.4.6.tar.gz

./configure
make
make install


# wget http://ftp.riken.jp/net/apache//apr/apr-util-1.4.1.tar.gz

./configure \
–with-apr=/usr/local/apr/


後は、開発のライブラリーが不足しているといろいろとconfig時にエラーがでます。

まあ、この辺はapache2.4.1で無くてもでてきます。


configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

# yum -y install pcre-devel


無事に最新版をインストール完了。httpd.confの設定ファイルはそのまま利用できない?互換性が無い?