APC(Alternative PHP Cache)をCentOSに導入!
前回のxampp導入で無事、動作確認がとれましたので今回はLinuxに導入したいと思います。
XamppのAPC導入に関してはこちらをどうぞ!
Alternative PHP Cache (APC)について(XAMPP)
PHPアクセレーターって??
APC(Alternative PHP Cache)はPECL(ピクル)の拡張モジュールです。
PECLとはPHPで利用できる拡張ライブラリ(パッケージ)を提供しているサービス。
PECLで提供されているモジュールはCで記述されているため、
PHPで記述されたPEARのライブラリよりも高速に動作すると言われています。
また、PEARライブラリはPHPのバージョンアップに伴う再インストールが原則不要ですが、PECLの拡張モジュールはPHP内部のAPIに依存するため、PHPのバージョンアップに伴いAPIが変更された場合、再コンパイルが必要です。
PECLの拡張モジュールのインストールには、
PEARの”pearコマンド”と同様に”peclコマンド”が用意されており、インストール方法もPEARのライブラリと同じようにすることが可能ですが、”インストール後、
設定ファイル(php.ini等)にextensionでインストールしたモジュールを指定する必要がある”といった違いがあります。
自分の環境
OS: Linux 2.6.18-308.13.1.el5PAE
Apach: Apache/2.2.3
PHP: 5.3.3
APCインストールに必要な部品をインストール
php-pearをインストール ※peclコマンドを使用するのに必要です。
pcre-develをインストール ※pcre-develもインストール。
[root@ns /]# yum -y install php-pear pcre pcre-devel
上記のコマンドで、APCモジュールのインストールを行います。
ずらずらーと文字が出てきて、最後に
complete.
と出たらインストール成功!!
APCモジュールのインストール
peclコマンドを使ってAPCをインストールします。
[root@ns /]# pecl install apc
こちらも、ずらずらーと文字が出てきて最後に
complete.
と出たらインストール成功!!
APCのバージョンを確認
pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
APC 3.1.13 beta
imagick 3.0.1 stable
上記のような文字が表示されれば、無事インストールされています。
設定ファイルの修正
無事、インストールされていたらコントロール画面の設定にはいります。
まず、ファイルのコピーをします。
アクセス出来るところに管理画面を導入するので、保存場所は下記の通りにしました。
cp /usr/share/pear/apc.php /var/www/vhosts/●●●.jp/httpdocs/phpapc/apc.php
コピーファイルの編集
vi /var/www/vhosts/●●●.jp/httpdocs/phpapc/apc.php
ファイル内の下記内容を変更。
# コンソールの認証を使用しない
defaults(‘USE_AUTHENTICATION’,0);
# コンソールの認証を使用する場合はユーザー名とパスワードを設定
defaults(‘ADMIN_USERNAME’,’ユーザー名’);
defaults(‘ADMIN_PASSWORD’,’パスワード’);
続いてapc.iniという設定ファイルを作成します。
apc.iniの作成
vi /etc/php.d/apc.ini
extension=apc.so
apc.cache_by_default = On
apc.canonicalize = On
apc.coredump_unmap = Off
apc.enable_cli = On
apc.enabled = On
apc.file_md5 = Off
apc.file_update_protection = 2
;apc.filters =
apc.gc_ttl = 3600
apc.include_once_override = Off
apc.lazy_classes = Off
apc.lazy_functions = Off
apc.max_file_size = 1M
;apc.mmap_file_mask =
apc.num_files_hint = 1000
;apc.preload_path =
apc.report_autofilter = Off
apc.rfc1867 = Off
apc.rfc1867_freq = 0
apc.rfc1867_name = APC_UPLOAD_PROGRESS
apc.rfc1867_prefix = upload_
apc.rfc1867_ttl = 3900
apc.serializer = default
apc.shm_segments = 1
apc.shm_size = 1024M
apc.slam_defense = On
apc.stat = On
apc.stat_ctime = Off
apc.ttl = 3900
apc.use_request_time = On
apc.user_entries_hint = 4096
apc.user_ttl = 3900
apc.write_lock = On
その後、Apachを再起動して完了です。
/etc/init.d/httpd restart
(再起動方法)
phpinofoで設定の確認。下記のように【
apc】の項目が表示されればOK!!
参考サイト:
http://www.ci-guide.info/hack/caching/apc/
http://www.webcreator-net.com/tips_memo/server/20120612083050.html