本稿ではWEXALのインストールする手順について記します。
私自身が躓いたこと・悩んだことについても記していますので、他サイトより実践的に読めると思います。
記事を読む前提として、既にKUSANAGI環境は構築されているものとします。
【2024年9月15日改稿】
KUSANAGI8と9の違い、WEXAL最新バージョンの設定に一部対応。
アップグレードする前にやること
DocumentRoot直下のファイルはバックアップをとっておく
KUSANAGI Premium Editionへアップグレードした際に、自分で追加したファイルが消える可能性があります。
(KUSANAGI8の場合。KUSANAGI9は未確認ですがトラブルは特に生じてないです)
私のケースですと、
- ログインページ用のPHPファイル
- wordefenceのファイル
なぜかadsense用のads.txtは残っていました。
いずれにせよ、KUSANAGIを使っているなら自動バックアップの設定をしておくのが間違いありません。
設定ファイル(.conf)のバックアップをとり、記述を元に戻す
設定ファイルはフォルダごとローカルに落としておいた方がいいです。
(一応、WEXALの側でバックアップをとってくれます)
KUSANAGI8のフォルダの場所は、
/etc/nginx/conf.d
KUSANAGI9のフォルダの場所は、
/etc/opt/kusanagi/nginx/conf.d
また、これは最重要なのですが、
【プロファイル名】_ssl.confは、変更を加えているなら元に戻してください(KUSANAGI8の場合)
私の場合はwebp配信の設定をしていたところエラーになりました。
(SSLそのものがおかしくなった)
KUSANAGI9では不明ですが、元に戻しておくに越したことはないと思います。
サムネイルを作り直しておく
私の環境では画質が劣化した
私の環境の問題かもしれませんが……。
最初に画像最適化したときは見られたものじゃない画質でした。
そのためサムネイルを作り直したところ、ちゃんとした画質で表示されるようになりました。
原因としては①何度かの入替で元画像の画質が劣化していた②再圧縮されてしまった。
どちらの理由にしてもですが、
画質を「100」(圧縮しない)にした上でサムネイルを作り直しましょう
どのみちWEXALの側で圧縮してくれますので。
KUSANAGIの場合はWP-CLIを使った方がプラグインより再生成が速いです。
画質をいくつにするか決めておく【2024年9月15日改稿】
現在のデフォルト画質は80になっています。
ConoHa公式にも書いています。
画像を最適化する際の圧縮率を1~100の間で設定できます。
数値が1に近いほど、圧縮率が高くなり、画像の解像度が落ち、100に近いほど圧縮率が低くなり、元データに近い状態になります。
なお、圧縮レベルの推奨値は「80」となります。
一般的な圧縮度なので変更しなくてOKです。
以前は60でした。
PCやスマホの高解像度化が進んだため変更したものと思われます。
画像の最大サイズをコンテンツ幅に合わせておく
PageSpeed InsightsにおけるLCPを下げるためです。
(指摘される画像は、ほぼアイキャッチ)
既に登録している画像はプラグイン「imsanity」で変更できます。
今後入れる画像はKUSANAGIの画像最適化機能でサイズを設定しておくと調整してくれます。
(Cocoonの場合)Retina対応のチェックを外す
画像サイズは少しでも小さい方がいいですから。
ただ、ここは各人の好みと信条です。
テーマとプラグインの高速化機能は全て切る
CocoonやLuxeritasではHTMLの縮小化・CSS・JSの縮小化などの高速化機能があります。
機能を全て切ってください
全てWEXALがやってくれます。
機能が被るので、むしろ誤作動の元です。
WEXALはCSS・JSの結合をしません。
だったら、これだけは残してもいいのではないか?
答えはNOです
一般的にHTTP/2以降では分割したままの方が速いです。
同時並行でリクエストを処理するからね
詳しい説明はカゴヤさんのページがわかりやすいです。
各ファイルのサイズによって結合した方がいい悪いはあるでしょうが。
(例えばコードが一行だけのファイルとか)
全て一つにまとめてしまった場合、PageSpeed Insightsの指標はがくんと落ちます。
ConoHaにおけるWEXALへのアップグレード方法
以下、ConoHaの例となります。
ライセンスの購入(登録)
ConoHaにログインし、サーバー→ネームタグ→アップグレードを押します。
右端のパーソナルライセンスを選びます。
法人の場合は無料利用できませんので御注意ください。
premiumを選んで、カートに入れます。
「お支払いへ進む」を押します。
必要事項を入力して「注文する」を押します。
完了画面が出たら、上部の「マイアカウント」を押します。 (支払完了の時点でログイン状態になってると思います)
サブスクリプションキーを控えます。
ターミナルからアップグレードする
ConoHaのWEXAL導入ページを開きます。 (ここまでの流れは、導入ページで省略している部分を記したものです)
「アップグレードライセンスの購入について」の[4]まで進みます。
[4] KUSANAGI Marketplaceにてライセンス購入が完了しますとサブスクリプションキーが有効になるので、サブスクリプションキーを確認の上VPSへコンソール画面やSSH接続にてログインします。
※サブスクリプションキーについてはKUSANAGI Marketplaceのマイアカウントのダッシュボードにて確認が出来ます。
(引用:ConoHa公式「ご利用ガイドKUSANAGI WEXALを導入する」)
root権限のユーザーでログインし、次のコマンドを入力します。
# kusanagi upgrade kusanagi --edition business|premium --use production|staging|development|personal --key xxxx-xxxx-xxxx-xxxx
このまま打ってはいけません。 私と同じタイプ(premiumかつ個人)と仮定すると、次の通りになります。
# kusanagi upgrade kusanagi --edition premium --use personal --key xxxx-xxxx-xxxx-xxxx
キーは先程のサブスクリプションキーです。
購入したエディションをインストールします。
# yum install kusanagi-biz|kusanagi-prem
もっとも、多くの場合がPREMIUMエディションでしょう。
次のコマンドでOKです。
# yum install kusanagi-prem
WEXALの有効化
以下、rootになっていることが前提です。
次の順にコマンドを叩いていけばOKです。
# yum update kusanagi-prem # pst init (アカウント名) # pst on (アカウント名)
URLが出ますので確認しておいてください。
最後にWEXALが起動しているか、確認します。
# pst status (アカウント名)
PSTの設定
PST Managerのポートを開ける
最初にPST Managerで基本的な設定をします。
ポート61000を開けておいてください。
例えばConoHaの場合は「接続許可ポート」につき「全て許可」がデフォルトなので設定する必要はありません。
繋がらない場合は、
コントロールパネル→サーバー→(該当サーバー)の詳細情報→ネットワーク情報→接続許可ポートを確認。
全てオンか確認します。
これでPST Managerに繋がらない場合、KUSANAGIのファイアウォールがオンになっています。
わからない、オンにした覚えはないという方は次を叩いてみてください。
systemctl is-enabled firewalld.service
ファイアウォールの自動起動を確認するコマンド。
恐らくenabledと出るはずです。
この場合、ポートを開けます。
ターミナルから次のコマンドを打ち込んでください
# firewall-cmd --add-port=61000/tcp --zone=public --permanent # firewall-cmd --reload
念のため設定を確認します。
# firewall-cmd --list-all
PST Managerを開く
ターミナルからPST Managerのユーザーとパスワードを設定します。
# pst passwd --user 【ユーザー名】 --pass 【パスワード】
pst initの後に表示されたURLへアクセスします。
ユーザー名とパスワードを入力し、ログインします。
しかし、
ここで終わり
ログインできることを確認できたらターミナルへ戻ります
というのはですね……
PST Managerから作業したら落ちるから!
すさまじく重いです。
ただセッティング終了後に細かな除外作業を行う可能性もあります。
その場合はPST Managerからの方が便利なのでセッティングだけはしておいた方がいいです。
ターミナルから設定を行う
次のコマンドで最適化を開始します。
# cd /home/kusanagi/【プロファイル名】 # pst opt all
あるいは、
pst opt all 【プロファイル名】
しばらく待ちます。
画像の量によっては数時間掛かります。
終わっても表示は出ません。
時間をおいてサーバーのリソース利用状況を確認。
(ConoHaならコントロールパネルから見られます)
落ち着いた様子なら次のPSTコマンドを叩きます。
# pst queue
次の表示が出れば作業が終わっています。
optimizer = 0 strategy = 0 queue completed.
終わったら、念のためキャッシュを削除します。
# kusanagi pst bcache clear 【プロファイル名】 # kusanagi pst fcache clear 【プロファイル名】
AIに最適化を命じます。
# pst config crawl --url 【サイトURL】 --depth 3 【プロファイル名】
depthオプションはデフォルトだと2です。
全ページの最適化をするなら3以上を入れます。
(以前のai configコマンドはなくなっています)
再度、確認コマンドを打ち込みます。
# pst queue
「strategy = 0」になっていたら完了です。
pst optとcrawlは同時並行できます。
しかし、
どちらのコマンドも重いので別々にやることを推奨します
むしろ別々にやっても2GBプランではサーバーが落ちます。
(環境とタイミング次第とは思いますが)
まとめ
あとは放置でいいの?
プラグイン干渉の解消したりとかEngagement delayの調整したりとか除外調整したりとかあるけど
全部終わればアップデート作業以外放置でOK
楽でいいねえ
ただ後からサムネイルのサイズ変えたり画質変えたりとかすると、削除してから最適化やり直し
避けるためには、WEXAL入れる前にサイト環境をしっかり固めておくこと!