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設定
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以外お好みで
rootとパスを入力
[特権タブ]→ [新しいユーザを追加する] を選択してwordpress用ユーザーと、データベースを作成します。ユーザー名は任意で。wordpressそのままではいけない気がする。
ホストはlocalhostでOK。
「同名のデータベースを作成してすべての特権を与える」にチェックしてもいいですが、個別に作成したほうがいいかも。その場合は↓のように
wordpress用データベース作成できます。
WordPress配置
最初に設定した「wp.conf」で指定したパスにwordpressを配置します。
samba等使用して転送した場合は、chownコマンドで「www-data」ユーザーに変更します。
nginxで設定したアドレスにアクセスするとwordpressのインストールが始まります。
phpMyAdminで作成したデータベース名・ユーザー・パスワードを入力します。
これであとはサイトの設定をしてインストール終了です。
WP Super Cache
ラスト、WP Super Cacheを設定します。プラグイン新規追加で「WP Super Cache」をインストールし、有効化します。
設定画面で「詳細」を開き、
- 「ヒットしたページをキャッシュし、素早くアクセスさせる」をオン
- 「ページを圧縮し、訪問者により速くページを供給する。 (推奨)」をオン
- 「追加のホームページチェック。」オン
- 「304 Not Modified ブラウザーキャッシング。最後にリクエストされてから変更がないことを示す。」オン
- 「キャッシュリビルド。新しいファイルの生成中にこのサイトの登録ユーザー以外のユーザーに supercache のファイルを供給する」オン
でステータス更新をクリック
プリロードタブにて「プリロードのリフレッシュ間隔」を3600程度にします。もっと大きくてもいいです。