⚠この記事はブログ移転前のアーカイブです

pi 2になってから性能が劇的に向上しwordpressもそれなりに快適に動作するようになりました。

低負荷を徹底するためにnginx + php5 + mysql + phpMyAdmin + WP Super Cache でwordpressをセットアップします。

パッケージインストール

まずは一式インストールします。

sudo apt-get install nginx php5 mysql-server php5-fpm php5-mysql phpmyadmin

MySQLインストール時にrootのパス聞かれるので設定しといてください。

また、php-fpmインストール時にapache / lighttpd の簡易セットアップが出てきますが、どちらも選択せずにOKを選択してください。

nginx + phpセットアップ

nginxセットアップ

sudo nano /etc/nginx/sites-enabled/wp.conf

##サイト設定

server{
        listen 80;
        server_name #サイトのアドレス;

        access_log /media/usb0/logs/wp.log;

        index   index.php index.html index.htm;
        root    /media/usb0/sites/wp;

        try_files $uri $uri/ /index.php?q=$uri&$args;

        location ~ \.php$ {
                root    /media/usb0/sites/wp;
                fastcgi_pass    unix:/var/run/php5-fpm.sock;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME /media/usb0/sites/wp;
                include         fastcgi_params;
        }
}

php.ini

以下のパラメータがある行を探して変更してください。また、お好みで他のパラメーターも設定してください。

; php.ini内のパラメータを設定
memory_limit=128M

display_errors=Off

php-fpm設定

nginxのユーザーを記述します。初期値はapacheだった気がします。
nginxのユーザーを確認するには /etc/nginx/nginx.conf に記述されています。
sudo nano /etc/php5/fpm/pool.d/www.conf

user = www-data
group = www-data

listen = /var/run/php5-fpm.sock

listen.owner = www-data
listen.group = www-data

php_admin_value[memory_limit] = 32M ;余裕がある人は64Mでもいいかも

動作確認

sudo service nginx restart

動くかどうか、nginxで設定したフォルダにphpinfoを表示して確認して下さい。

MySQLセットアップ

sudo nano /etc/mysql/my.cnf

#mysqlのデーターベースフォルダをUSB上に変更する場合は以下のパスを変更
datadir         = /var/lib/mysql

#使用メモリ削減。これも環境に合わせて調整してください。
innodb_buffer_pool_size = 135MB
sudo service mysql restart

mysql再起動

phpMyAdminセットアップ

phpMyAdmin本体にnginxを通す

sudo nano /etc/nginx/sites-enabled/phpmyadmin.conf
server {
        listen 8080;
        server_name localhost;
        root /usr/share/phpmyadmin;
        index index.php index.html index.htm;
        if (!-e $request_filename) {
                rewrite ^/(.+)$ /index.php?url=$1 last;
                break;
        }
        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include /etc/nginx/fastcgi_params;
        }
}
sudo service nginx restart

Raspberry pi 2のIPアドレスを192.168.1.10とすると、ブラウザのアドレスバーに[192.168.1.10:8080]とすればphpMyAdminに接続できるはずです。ポートは8080以外お好みで

screenshot.52

 

rootとパスを入力

screenshot.55

 

[特権タブ]→ [新しいユーザを追加する] を選択してwordpress用ユーザーと、データベースを作成します。ユーザー名は任意で。wordpressそのままではいけない気がする。

ホストはlocalhostでOK。

「同名のデータベースを作成してすべての特権を与える」にチェックしてもいいですが、個別に作成したほうがいいかも。その場合は↓のように

screenshot.53

wordpress用データベース作成できます。

WordPress配置

最初に設定した「wp.conf」で指定したパスにwordpressを配置します。

samba等使用して転送した場合は、chownコマンドで「www-data」ユーザーに変更します。

nginxで設定したアドレスにアクセスするとwordpressのインストールが始まります。

screenshot.56

 

phpMyAdminで作成したデータベース名・ユーザー・パスワードを入力します。

screenshot.57

これであとはサイトの設定をしてインストール終了です。

WP Super Cache

ラスト、WP Super Cacheを設定します。プラグイン新規追加で「WP Super Cache」をインストールし、有効化します。

screenshot.61

 

設定画面で「詳細」を開き、

  • 「ヒットしたページをキャッシュし、素早くアクセスさせる」をオン
  • 「ページを圧縮し、訪問者により速くページを供給する。 (推奨)」をオン
  • 「追加のホームページチェック。」オン
  • 「304 Not Modified ブラウザーキャッシング。最後にリクエストされてから変更がないことを示す。」オン
  • 「キャッシュリビルド。新しいファイルの生成中にこのサイトの登録ユーザー以外のユーザーに supercache のファイルを供給する」オン

でステータス更新をクリック

プリロードタブにて「プリロードのリフレッシュ間隔」を3600程度にします。もっと大きくてもいいです。