VpsのApache、php5.3(FastCgi)、MySQL(5.3)でワードプレスを動かしていたのですが、少し遅い+メモリを食い過ぎるので、高速化+メモリの縮小を行うためにした事の備忘録。
これを行った事によって、ワードプレスの表示速度が、平均0.86秒から、平均0.41秒になりました。
まずは、MySQLを5.5にUPする。
事前準備
# yum install https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm # yum install yum-utils # yum-config-manager --disable mysql56-community # yum-config-manager --enable mysql55-community
MYSqlインストール
# yum install mysql mysql-devel mysql-server mysql-utilities
これでMysqlのインストール完了。
次は、phpのバージョンを上げる。
事前準備
# yum remove php*
今ある既存のphpを削除
epelとremiのレポジトリの追加。
# rpm -ivh https://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -ivh https://rpms.famillecollet.com/enterprise/remi-release-5.rpm
必要なモジュールを指定して、yumでphpをinstall
# yum install --enablerepo=remi --enablerepo=remi-php55 php php-cli php-common php-devel php-gd php-mbstring php-mysqlnd php-opcache php-pdo php-pear php-pecl-apcu php-pecl-jsonc php-pecl-jsonc-devel php-pecl-zip php-pgsql php-process php-xml
インストールが完了したら、問題ないか確認。
# rpm -qa | grep php # php -v
これで、phpのインストール完了。
OPcacheのインストール
# yum install php-opcache --enablerepo=remi-php55,remi
# vim /etc/php.d/opcache.ini [opcache] opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1
設定のマニュアルはこちら(PHP: 実行時設定 – Manual)
OpCacheにどれくらいキャッシュされているかは、下記のツールを利用すれば把握できます。
opcache-status · GitHub
opcache-status · GitHub
ocp.php · GitHub
私は、opcache-statuを利用しました。
APCuのインストール
# yum install php-pecl-apcu --enablerepo=remi-php55,remi
# vim /etc/php.d/apcu.ini extension = apcu.so apc.enabled=1 apc.shm_size=128M apc.ttl=86400 apc.gc_ttl=86400 apc.mmap_file_mask=/tmp/apc.XXXXXX
以上でApcuのインストールが完了です。
これで、ワードプレスが高速化されるはずです。
php -v でUnable to initialize moduleが出た。
PHP Warning: PHP Startup: ******: Unable to initialize module がで
mysql とmsqli と pdo_mysql が初期化できないよと言われていました。
読み込んでるextensionに誤りがあるみたいですね。
私の場合は、前にインストールしたMysqlのものが残っていたので、読み込まれる対象の******.iniファイル(mysql.ini、mysqli.ini、pdo_mysql.ini)を削除しました。
コメント