ブログ環境  (AWS + WordPress) 構成変更 Apache→Nginx + PHP-FPM に変更

こんにちは

こちらの過去記事(ブログ環境  (AWS + WordPress) 構成変更 S3導入)

にも書いたのですが、このブログはAWS(Amazon WebServices) + WordPressの構成ですが、AWSの最小インスタンス t2microでは固まってしまう為、1つ上のスペックのt2smallを利用していました。料金が高くなってしまいますので、なんとかt2microで運用したいなー、とずっと思っていまして、今回やっと構成変更が完了しましたので、忘れないうちに変更内容をメモとして残しておきたいと思います。

変更前・変更後で共通の環境前提

AWSの1つのEC2インスタンス1つの上に、Linux+WebAP+WordPress+DB の構成。
メディア(写真)はS3上に置く。
DNSはAWSのROUTE53を利用。
DBはmysqlを利用。

変更点

変更前 変更後
EC2 t2small
(メモリ:2,CPU/時:12,vCPU:1)
t2micro
(メモリ:1,CPUクレジット/時:6,vCPU:1)
Webサーバ
アプリ
Apache Nginx
PHPFastCGI php-fpmを利用

変更手順(目次)

  1. 新しいEC2インスタンスを立てる
  2. 新しいEC2インスタンスに各種インストールを実施
  3. 旧環境からwordpressの情報を移行
  4. 参考

変更手順(詳細)

  1. 新しいEC2インスタンスを立てる(AMI = Linux , インスタンスタイプ=t2micro)

  2. 新環境構築 EC2インスタンスにsshでログインして以下を実施

    • yumの更新、rootのパスワード設定、rootにsu
    • nginxのインストール
    • PHPインストール
    • PHP-FPM設定

      www.confの編集内容
      user,groupをnginxに変更 , pm = staticに変更 , pm.max_childern=3に変更
    • php-fpm起動
    • mysql インストール

      my.cnfの編集内容
      max_connections = 10 を設定し接続数を制限
    • SWAP作成

      現在のルートパスワードを入力。
      (デフォルトでは、ルートにパスワードが設定されていないので、Enter を押す。)
      「Y」と入力してパスワードを設定。
      「Y」と入力して匿名ユーザーアカウントを削除。
      「Y」と入力してルートログインを無効に。
      「Y」と入力してテストデータベースを削除。
      「Y」と入力して権限テーブルを再ロードし、変更を保存。
    • mysqlにwordpress用のDB作成

    • wordpressのインストール
    • wordpressの設定
      http://IPアドレス/wordpress にてアクセス
      データベース名: wordpress
      ユーザ名: wordpress
      パスワード: XXXXXX
      データベースのホスト名: localhost
      テーブル接頭辞: wp_
    • S3バケットのマウント(S3をマウントして使いたい場合のみ必要な手順)
  3. 旧環境からwordpressの記事情報等をお引越し

    sshでログインし、rootユーザにて以下を実施

    • WordPressのバックアップファイルをリストア(backWPUPプラグインでバックアップを取っている前提の手順)
    • mysqlのDBバックアップから新DBに移行
    • wp-config.phpの修正
      wp-config.php 内の
      define(‘DB_HOST’,’XXX.XXX.XXX.XXX’)
      を新サーバに合わせて修正。*今回は元々localhostだったので修正の必要はなかった。
    • nginxの設定
    • /etc/nginx/nginx.conf の設定は以下の通り

       
    • /etc/nginx/conf.d/virtual.confの設定は以下の通り
  4. ROUTE53にてドメインのIPアドレスを新サーバに切り替える。
  5. 以上の手順で完了しました。現在このブログは新しい環境で動いています。
    実際に運用してみて変えたほうが良い設定等あれば、またブログに反映したいと思っています。
    *nginxの設定ファイルついてもまだよく理解していないので、もう少し勉強したいなぁと思っています。

  6. 参考

    • 別ドメインへの移行時のDB変更スクリプト
      上記の手順からは外していますが、実際はいきなり切り替えずに、まずは別ドメインにてテストをしてから切り替えています。wordpressのデータを別ドメインに移行する場合のスクリプトを参考に残しておきます。

       
    • 参考にさせて頂いたサイト (ありがとうございます)
      CentOSにてnginxでPHPを動かす
      nginxだけでWordPressを動かすための設定
      WordPressCodex日本語版
      Nginx + PHP-FPM で WordPress を動かす
      Nginx: nginxでWordPressのパーマリンク設定をカスタム構造に変更する

最後まで読んで頂きありがとうございます。
それでは。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です