WordPress je software s otevřeným zdrojovým kódem, který můžete použít k vytvoření svého webu, blogu nebo aplikace. Existuje mnoho návrhů a funkcí/pluginů, které lze přidat do vaší instalace WordPress. WordPress je bezplatný software, nicméně existuje mnoho komerčních pluginů, které jej vylepšují v závislosti na vašich požadavcích.
WordPress vám usnadňuje správu obsahu a je opravdu flexibilní. Vytvářejte koncepty, plánujte publikování a prohlížejte si revize příspěvků. Udělejte svůj obsah veřejným nebo soukromým a zabezpečte příspěvky a stránky heslem.
Chcete-li spustit WordPress, měli byste mít alespoň PHP verze 5.2.4+, MySQL verze 5.0+ (nebo MariaDB) a Apache nebo Nginx. Některé z těchto verzí dosáhly EOL a vy můžete svůj web vystavit bezpečnostním chybám, takže byste měli nainstalovat nejnovější dostupnou verzi podle vašeho prostředí.
Jak jsme viděli, v současné době WordPress podporuje pouze databázové stroje MySQL a MariaDB. WPPG je plugin založený na pluginu PG4WP, který vám dává možnost nainstalovat a používat WordPress s databází PostgreSQL jako backend. Funguje tak, že volání funkcí specifických pro MySQL nahrazuje obecnými voláními, která je mapují na jiné databázové funkce, a v případě potřeby přepisují dotazy SQL za běhu.
Pro tento blog nainstalujeme 1 aplikační server s WordPress 5.1.1 a HAProxy, 1.5.18 na stejný server a 2 databázové uzly PostgreSQL 11 (Master-Standby). Celý operační systém bude CentOS 7. Pro nasazení databází a nástroje pro vyrovnávání zatížení použijeme systém ClusterControl.
Toto je základní prostředí. Můžete jej vylepšit přidáním dalších funkcí vysoké dostupnosti, jak můžete vidět zde. Takže začněme.
Nasazení databáze
Nejprve musíme nainstalovat naši databázi PostgreSQL. Za tímto účelem budeme předpokládat, že máte nainstalovaný ClusterControl.
Chcete-li provést nasazení z ClusterControl, jednoduše vyberte možnost „Deploy“ a postupujte podle zobrazených pokynů.
Při výběru PostgreSQL musíme zadat uživatele, klíč nebo heslo a port pro připojení pomocí SSH k našim serverům. Potřebujeme také název pro náš nový cluster a pokud chceme, aby ClusterControl nainstaloval odpovídající software a konfigurace za nás.
Po nastavení přístupových informací SSH musíme definovat uživatele databáze, verzi a datový adresář (volitelné). Můžeme také určit, které úložiště použít.
V dalším kroku musíme přidat naše servery do clusteru, který se chystáme vytvořit.
Při přidávání našich serverů můžeme zadat IP nebo název hostitele.
V posledním kroku si můžeme vybrat, zda bude naše replikace synchronní nebo asynchronní.
Stav vytváření našeho nového clusteru můžeme sledovat z monitoru aktivity ClusterControl.
Po dokončení úlohy můžeme vidět náš cluster na hlavní obrazovce ClusterControl.
Jakmile máme náš cluster vytvořený, můžeme na něm provádět několik úkolů, jako je přidání nástroje pro vyrovnávání zatížení (HAProxy) nebo nové repliky.
ClusterControlSingle Console pro celou vaši databázovou infrastrukturu Zjistěte, co je ještě nového v ClusterControl Nainstalujte ClusterControl ZDARMANasazení nástroje Load Balancer
Chcete-li provést nasazení nástroje pro vyrovnávání zatížení, v tomto případě HAProxy, vyberte v akcích clusteru možnost „Přidat nástroj pro vyrovnávání zatížení“ a vyplňte požadované informace.
Potřebujeme pouze přidat IP/Název, port, politiku a uzly, které budeme používat. Ve výchozím nastavení je HAProxy nakonfigurováno pomocí ClusterControl se dvěma různými porty, jedním pro čtení a zápis a jedním pouze pro čtení. V portu pro čtení a zápis je UP pouze hlavní. V případě selhání ClusterControl podpoří nejpokročilejší slave a změní konfiguraci HAProxy tak, aby povolila nový master a deaktivovala starou. Tímto způsobem budeme mít automatické převzetí služeb při selhání v případě selhání.
Pokud jsme postupovali podle předchozích kroků, měli bychom mít následující topologii:
Máme tedy jeden koncový bod vytvořený na aplikačním serveru pomocí HAProxy. Nyní můžeme tento koncový bod použít v aplikaci jako připojení localhost.
Instalace aplikace WordPress
Pojďme nainstalovat WordPress na náš aplikační server a nakonfigurovat jej pro připojení k databázi PostgreSQL pomocí místního portu HAProxy 3307.
Nejprve nainstalujte požadované balíčky na aplikační server.
$ yum install httpd php php-mysql php-pgsql postgresql
$ systemctl start httpd && systemctl enable httpd
Stáhněte si nejnovější verzi WordPress a přesuňte ji do kořenového adresáře dokumentů Apache.
$ wget https://wordpress.org/latest.tar.gz
$ tar zxf latest.tar.gz
$ mv wordpress /var/www/html/
Stáhněte si plugin WPPG a přesuňte jej do adresáře pluginů wordpress.
$ wget https://downloads.wordpress.org/plugin/wppg.1.0.1.zip
$ unzip wppg.1.0.1.zip
$ mv wppg /var/www/html/wordpress/wp-content/plugins/
Zkopírujte soubor db.php do adresáře wp-content. Poté jej upravte a změňte cestu 'PG4WP_ROOT':
$ cp /var/www/html/wordpress/wp-content/plugins/wppg/pg4wp/db.php /var/www/html/wordpress/wp-content/
$ vi /var/www/html/wordpress/wp-content/db.php
define( 'PG4WP_ROOT', ABSPATH.'wp-content/plugins/wppg/pg4wp');
Přejmenujte soubor wp-config.php a změňte informace o databázi:
$ mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
$ vi /var/www/html/wordpress/wp-config.php
define( 'DB_NAME', 'wordpressdb' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'wpPassword' );
define( 'DB_HOST', 'localhost:3307' );
Poté musíme vytvořit databázi a uživatele aplikace v databázi PostgreSQL. Na hlavním uzlu:
$ postgres=# CREATE DATABASE wordpressdb;
CREATE DATABASE
$ postgres=# CREATE USER wordpress WITH PASSWORD 'wpPassword';
CREATE ROLE
$ postgres=# GRANT ALL PRIVILEGES ON DATABASE wordpressdb TO wordpress;
GRANT
A upravte soubor pg_hba.conf tak, aby umožňoval připojení z aplikačního serveru.
$ Vi /var/lib/pgsql/11/data/pg_hba.conf
host all all 192.168.100.153/24 md5
$ systemctl reload postgresql-11
Ujistěte se, že k němu máte přístup z aplikačního serveru:
$ psql -hlocalhost -p3307 -Uwordpress wordpressdb
Password for user wordpress:
psql (9.2.24, server 11.2)
WARNING: psql version 9.2, server version 11.0.
Some psql features might not work.
Type "help" for help.
wordpressdb=>
Nyní přejděte ve webovém prohlížeči na install.php, v našem případě je IP adresa aplikačního serveru 192.168.100.153, takže přejdeme na:
http://192.168.100.153/wordpress/wp-admin/install.php
Přidejte název webu, uživatelské jméno a heslo pro přístup do sekce pro správu a svou e-mailovou adresu.
Nakonec přejděte na Plugins -> Installed Plugins a aktivujte plugin WPPG.
Závěr
Nyní máme WordPress spuštěný s PostgreSQL pomocí jediného koncového bodu. Můžeme monitorovat naši aktivitu clusteru na ClusterControl kontrolou různých metrik, řídicích panelů nebo mnoha funkcí výkonu a správy.
Existují různé způsoby, jak implementovat WordPress s PostgreSQL. Mohlo by to být použitím jiného pluginu nebo instalací WordPressu jako obvykle a přidáním pluginu později, ale v každém případě, jak jsme zmínili, PostgreSQL není oficiálně podporován WordPressem, takže pokud chceme, musíme provést vyčerpávající testovací proces. použít tuto topologii ve výrobě.