AWS EC2 で負荷分散された WordPress ウェブサイトをセットアップします。 Elastic Load Balancing を使用して、AWS で自動スケーリング機能を使用して大量のトラフィックを処理するように WordPress アプリケーションをセットアップする方法を学びます。
この完全なガイドでは、WordPress をインストールし、メディア ファイルに AWS S3 を使用するようにウェブサイトを構成し、Amazon マシン イメージを作成し、テンプレートをセットアップし、起動構成を作成し、自動スケーリング グループを構成してライブ トラフィックを管理し、データベースの RDS をセットアップします。
前提条件
- 実行中の EC2 インスタンス。 AWS EC2 インスタンスを作成する方法を学びます。 Ubuntu 20.04 LTS または最新版を選択できます。
- Elastic IP を EC2 インスタンスに割り当てます。
- Amazon RDS をセットアップし、EC2 インスタンスに接続する
- ドメイン名の AWS Route 53 をセットアップします。
上記の必要な前提条件がすべて整っている場合は、Elastic Load Balancing のセットアップに進むことができます。
EC2 から RDS への正常な接続のために、EC2 インスタンスのセキュリティ グループを RDS のセキュリティ グループに追加したことを確認してください。
サーバーの初期設定
VM インスタンスに SSH で接続し、パッケージの更新とアップグレードから始めます。
sudo apt update sudo apt upgrade
WordPress 用の Apache2 をインストール
次のコマンドを使用して Apache2 をインストールします。
sudo apt install apache2
apache2
がインストールされます および必要なすべての依存関係。
ファイアウォールを構成する
HTTP
のデフォルト Web ポートでのパブリック アクセスを許可するために、Apache で複雑でないファイアウォール (UFW) をセットアップできるようになりました。 、 HTTPS
と SSH
sudo ufw app list
リストされたすべてのアプリケーションが表示されます。
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- アパッチ :このプロファイルはポート
80
を開きます (通常の暗号化されていない Web トラフィック) - Apache フル :このプロファイルは両方のポート
80
を開きます (通常の暗号化されていない Web トラフィック) およびポート443
(TLS/SSL 暗号化トラフィック) - Apache セキュア :このプロファイルは、ポート
443
のみを開きます (TLS/SSL 暗号化トラフィック) - OpenSSH :このプロファイルはポート
22
を開きます SSH アクセス用
次に、Apache Full を有効にします。
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
次のコマンドを使用して UFW を有効にします
sudo ufw enable
PHP 8 と拡張機能をインストールする
ondrej/php
を追加 これには、PHP 8 パッケージとその他の必要な PHP 拡張機能が含まれています。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
PPA を追加したら、PHP 8 をインストールできます。
sudo apt install php8.0 libapache2-mod-php8.0 php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl php8.0-bcmath unzip mariadb-client -y
PHP 8 を構成する
php.ini
のいくつかの値を変更して、Web アプリケーション用の PHP を構成します。 ファイル。
Apache を使用する PHP 8 の場合、php.ini
場所は次のディレクトリになります。
sudo nano /etc/php/8.0/apache2/php.ini
F6
をヒット エディター内で検索し、パフォーマンスを向上させるために次の値を更新します。
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
PHP 設定をインストールして構成したら、変更を有効にするために Apache を再起動する必要があります。
sudo service apache2 restart
ウェブサイト ディレクトリの構成
PHP 8 と Apache をインストールしたら、ディレクトリのセットアップに進むことができます。
Web サイトはホーム ディレクトリに配置され、次の構造になります。
yourdomainname
を置き換えます 元のドメイン名で
/var/www/html/ -- yourdomainname ---- public
public
directory は Web サイトのルート ディレクトリです。
これらのディレクトリを作成し、適切な権限を設定します
VM インスタンスに SSH 接続し、これらのコマンドを実行する必要があります
mkdir -p /var/www/html/yourdomainname/public sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
WordPress の仮想ホストを構成する
sites-available
に Web サイトの新しい構成ファイルを作成します。 ディレクトリ。
sudo nano /etc/apache2/sites-available/yourdomainname.conf
次の構成をコピーして貼り付けます。server_name、error_log、および root ディレクティブをドメイン名と一致するように変更してください。 CTRL+X
をヒット 続いて Y
変更を保存します。
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.yourdomainname.com ServerAlias yourdomainname.com DocumentRoot /var/www/html/yourdomainname/public <Directory /var/www/html/yourdomainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/yourdomainname.com_error.log CustomLog ${APACHE_LOG_DIR}/yourdomainname.com_access.log combined </VirtualHost>
この新しく作成された Web サイト構成を有効にするには、作成したばかりのファイルを sites-enabled
にシンボリック リンクします。 ディレクトリ。
sudo a2ensite yourdomainname.conf
構成を確認し、Apache を再起動して変更を有効にします
sudo systemctl restart apache2
PhpMyAdmin のインストール (オプション)
これで、PhpMyAdmin をインストールして、データベースを作成し、ユーザー フレンドリーな方法でデータベースにユーザーを割り当てることができます。
PhpMyAdmin をダウンロードし、次のコマンドを使用して構成します。
sudo wget -P /usr/share https://files.phpmyadmin.net/phpMyAdmin/5.1/phpMyAdmin-5.1-all-languages.zip sudo unzip /usr/share/phpMyAdmin-5.1-all-languages.zip -d /usr/share sudo mv /usr/share/phpMyAdmin-5.1-all-languages /usr/share/phpmyadmin sudo rm -f /usr/share/phpMyAdmin-5.1-all-languages.zip sudo mkdir /usr/share/phpmyadmin/tmp sudo chmod -R 777 /usr/share/phpmyadmin/tmp sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
config.inc.php
を編集します ファイル
sudo nano /usr/share/phpmyadmin/config.inc.php
/* Authentication type */
の下に以下を追加します .
$cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'RDS_DATABASE_ENDPOINT'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['verbose'] = 'Amazon RDS'; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['TempDir'] = '/usr/share/phpmyadmin/tmp';
フグの秘密を入力してください。
$cfg['blowfish_secret'] = 'Some_Secret_Password_54_characters';
CTRL+X
をヒット 続いて Y
と ENTER
ファイルを保存して終了します。
データベースを作成
PhpMyAdmin (http://yourdomainname.com/phpmyadmin
) で RDS インスタンスにログインできるようになりました。 ) インスタンスの作成時に構成したマスター ユーザー名とパスワードを使用します。
新しいデータベースとそのデータベースに関連付けられたユーザーを作成します。
WordPress をダウンロード
サーバー ソフトウェアが構成されたので、WordPress をダウンロードしてセットアップできます。
WordPress の最新バージョンを Web サイトから入手することを常にお勧めします。
cd /var/www/html/yourdomainname/public curl -LO https://wordpress.org/latest.tar.gz
WordPress をダウンロードしたら、次のコマンドを使用して抽出する必要があります。
sudo tar xzvf latest.tar.gz
これで、ディレクトリの内容全体をドキュメント ルートにコピーできます。
sudo cp -a /var/www/html/yourdomainname/public/wordpress/. var/www/html/yourdomainname/public
次に、wordpress
を削除してルート ディレクトリをクリーンアップします。 フォルダとダウンロードした tar
ファイル。
sudo rm -r /var/www/html/yourdomainname/public/wordpress sudo rm -f /var/www/html/yourdomainname/public/latest.tar.gz
ルート フォルダに正しいアクセス許可を設定します。 yourdomainname
を置き換えることを忘れないでください ドメイン名で
sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
WordPress をインストール
ブラウザでウェブサイトにアクセスし、使用する言語を選択して [続行] をクリックします。
database
を入力するよう求められます。 、 user
、 password
、および hostname
.
データベース名を入力してください PhpMyAdmin と user を使用して作成した パスワードとともにデータベースに割り当てられます。最後に、RDS エンドポイントを ホスト名 として入力します .
これで、インストールを実行できます。
インストールが完了したら、WordPress がファイル システムへの書き込みに使用する方法を設定する必要があります。 Web サーバーに必要な場所への書き込み許可を与えたので、ファイル システム メソッドを明示的に「直接」に設定できます。現在の設定でこれを設定しないと、WordPress の更新、プラグインの更新、ファイルのアップロードなどのアクションを実行するときに、WordPress が FTP 資格情報を求めるプロンプトが表示されます。この設定は、構成ファイルのデータベース接続設定の下に追加できます。
sudo nano /var/www/html/yourdomainname/public/wp-config.php
行 define('DB_PASSWORD', 'password');
を見つけます その下に次の行を貼り付けます。
define('FS_METHOD', 'direct');
Ctrl+X
をヒット と Y
構成ファイルを保存します。
認定 AWS プロフェッショナルになる この簡単に学べるコースを今すぐ受講してください。
パート 1 です。これで、EC2 と RDS でインスタンスを作成し、WordPress をインストールしました。
次の部分では、AWS S3 を構成し、メディア ライブラリに S3 を使用するように WordPress を構成し、AWS マネージド SSL を要求し、ロード バランサーと Auto Scaling グループを作成し、ドメインをロード バランサーに向けることができます。
この完全なチュートリアルの次の部分は、ここで見ることができます。