Nastavte web WordPress s vyváženým zatížením na AWS EC2. Zjistěte, jak nastavit svou aplikaci WordPress tak, aby zvládla vysoký provoz pomocí funkcí automatického škálování na AWS s elastickým vyvažováním zátěže.
V tomto úplném průvodci nainstalujete WordPress, nakonfigurujete svůj web pro použití AWS S3 pro mediální soubory, vytvoříte Amazon Machine Image, šablonu nastavení, vytvoříte konfiguraci spuštění, nakonfigurujete skupinu automatického škálování pro správu živého provozu a nastavíte RDS pro vaši databázi.
Předpoklady
- Spuštěná instance EC2. Přečtěte si, jak vytvořit instanci AWS EC2. Můžete si vybrat Ubuntu 20.04 LTS nebo nejnovější.
- Přiřaďte k instanci EC2 elastickou IP.
- Nastavte službu Amazon RDS a připojte ji k instanci EC2.
- Nastavte AWS Route 53 pro název vaší domény.
Pokud splňujete všechny výše uvedené požadované předpoklady, můžete přistoupit k nastavení elastického vyvažování zátěže.
Ujistěte se, že jste přidali skupinu zabezpečení vaší instance EC2 do skupiny zabezpečení RDS pro úspěšné připojení z EC2 k RDS.
Počáteční nastavení serveru
SSH na instanci VM a začněte aktualizací a upgradem balíčků.
sudo apt update sudo apt upgrade
Nainstalujte Apache2 pro WordPress
Nainstalujte Apache2 pomocí následujícího příkazu.
sudo apt install apache2
Tím se nainstaluje apache2
a všechny požadované závislosti.
Konfigurace brány firewall
Nyní můžete nastavit Uncomplicated Firewall (UFW) s Apache, aby umožnil veřejný přístup na výchozích webových portech pro HTTP
, HTTPS
a SSH
sudo ufw app list
Zobrazí se všechny uvedené aplikace.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Tento profil otevírá port
80
(normální, nešifrovaný webový provoz) - Apache Full :Tento profil otevírá oba porty
80
(normální, nešifrovaný webový provoz) a port443
(provoz šifrovaný TLS/SSL) - Apache Secure :Tento profil otevírá pouze port
443
(provoz šifrovaný TLS/SSL) - OpenSSH :Tento profil otevírá port
22
pro přístup SSH.
Nyní povolíme Apache Full.
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
Povolte UFW pomocí následujícího příkazu
sudo ufw enable
Nainstalujte PHP 8 a rozšíření
Přidejte ondrej/php
který má balíček PHP 8 a další požadovaná rozšíření PHP.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Jakmile přidáte PPA, můžete nainstalovat 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
Nakonfigurujte PHP 8
Nyní nakonfigurujeme PHP pro webové aplikace změnou některých hodnot v php.ini
soubor.
Pro PHP 8 s Apache php.ini
umístění bude v následujícím adresáři.
sudo nano /etc/php/8.0/apache2/php.ini
Stiskněte F6
pro vyhledávání v editoru a pro lepší výkon aktualizujte následující hodnoty.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Jakmile nainstalujete a nakonfigurujete nastavení PHP, musíte restartovat Apache, aby se změny projevily.
sudo service apache2 restart
Konfigurace adresářů webových stránek
Jakmile nainstalujete PHP 8 a Apache, můžete přejít k instalačním adresářům.
Váš web bude umístěn v domovském adresáři a bude mít následující strukturu.
Nahraďte yourdomainname
s vaším původním názvem domény bez přípony.
/var/www/html/ -- yourdomainname ---- public
public
adresář je kořenový adresář vašeho webu.
Nyní vytvoříme tyto adresáře a nastavíme správná oprávnění
Potřebujete SSH do vaší instance VM a spustit tyto příkazy
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
Konfigurace virtuálních hostitelů pro WordPress
Vytvořte nový konfigurační soubor pro svůj web v sites-available
adresář.
sudo nano /etc/apache2/sites-available/yourdomainname.conf
Zkopírujte a vložte následující konfiguraci a ujistěte se, že jste změnili direktivy server_name, error_log a root tak, aby odpovídaly názvu vaší domény. Stiskněte CTRL+X
následuje Y
pro uložení změn.
<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>
Chcete-li povolit tuto nově vytvořenou konfiguraci webu, symbolicky propojte soubor, který jste právě vytvořili, do sites-enabled
adresář.
sudo a2ensite yourdomainname.conf
Zkontrolujte konfiguraci a restartujte Apache, aby se změny projevily
sudo systemctl restart apache2
Nainstalujte PhpMyAdmin (volitelné)
Nyní si můžete nainstalovat PhpMyAdmin, který vám pomůže vytvořit databázi a uživatelsky přívětivým způsobem do ní přiřadit uživatele.
Stáhněte si PhpMyAdmin a nakonfigurujte jej pomocí následujících příkazů.
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
Upravte config.inc.php
soubor
sudo nano /usr/share/phpmyadmin/config.inc.php
Přidejte následující pod /* 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';
Zadejte tajemství blowfish.
$cfg['blowfish_secret'] = 'Some_Secret_Password_54_characters';
Stiskněte CTRL+X
následuje Y
a ENTER
pro uložení a ukončení souboru.
Vytvořit databázi
Nyní se můžete přihlásit ke své instanci RDS pomocí PhpMyAdmin (http://yourdomainname.com/phpmyadmin
) pomocí hlavního uživatelského jména a hesla, které jste nakonfigurovali při vytváření instance.
Vytvořte novou databázi a uživatele přidruženého k této databázi.
Stáhněte si WordPress
Nyní, když je náš serverový software nakonfigurován, můžeme si stáhnout a nastavit WordPress.
Vždy se doporučuje získat nejnovější verzi WordPressu z jejich webu.
cd /var/www/html/yourdomainname/public curl -LO https://wordpress.org/latest.tar.gz
Jakmile je WordPress stažen, musíte jej extrahovat pomocí následujícího příkazu.
sudo tar xzvf latest.tar.gz
Nyní můžete zkopírovat celý obsah adresáře do našeho kořenového adresáře dokumentů.
sudo cp -a /var/www/html/yourdomainname/public/wordpress/. var/www/html/yourdomainname/public
Dále vyčistěte kořenový adresář odstraněním wordpress
složku a staženou složku tar
soubor.
sudo rm -r /var/www/html/yourdomainname/public/wordpress sudo rm -f /var/www/html/yourdomainname/public/latest.tar.gz
Nastavte správná oprávnění pro kořenovou složku. Nezapomeňte nahradit yourdomainname
s vaším názvem domény jste použili.
sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
Nainstalujte WordPress
Nyní navštivte svůj web v prohlížeči a vyberte jazyk, který chcete používat, a klikněte na Pokračovat.
Budete vyzváni k zadání database
, user
, password
a hostname
.
Zadejte název databáze které jste vytvořili pomocí PhpMyAdmin a uživatele přiřazené k databázi s heslem. Nakonec zadejte koncový bod RDS jako název hostitele .
Nyní můžete spustit instalaci.
Po dokončení instalace musíme nastavit metodu, kterou má WordPress používat k zápisu do systému souborů. Protože jsme webovému serveru udělili oprávnění zapisovat tam, kam potřebuje, můžeme explicitně nastavit metodu souborového systému na „přímé“. Pokud toto nenastavíme s našimi aktuálními nastaveními, bude to mít za následek, že WordPress bude vyžadovat zadání přihlašovacích údajů FTP, když provádíme některé akce, jako je aktualizace WordPress, aktualizace pluginů, nahrávání souboru atd. Toto nastavení lze přidat pod nastavení připojení k databázi v konfiguračním souboru.
sudo nano /var/www/html/yourdomainname/public/wp-config.php
Najděte řádek define('DB_PASSWORD', 'password');
a vložte pod něj následující řádek.
define('FS_METHOD', 'direct');
Stiskněte Ctrl+X
a Y
pro uložení konfiguračního souboru.
Staňte se Certifikovaným profesionálem AWS s tímto snadno naučitelným kurzem.
To je pro část 1. Nyní jste vytvořili instanci v EC2 a RDS a nainstalovali WordPress.
V další části můžete nakonfigurovat AWS S3, nakonfigurovat WordPress tak, aby používal S3 pro knihovnu médií, požádat o SSL spravované AWS, vytvořit nástroj pro vyrovnávání zatížení, skupinu automatického škálování a nasměrovat svou doménu na nástroj pro vyrovnávání zatížení.
Na další část tohoto úplného tutoriálu se můžete podívat zde.