PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara Menyebarkan PostgreSQL yang Sangat Tersedia dengan Titik Akhir Tunggal untuk WordPress

WordPress adalah perangkat lunak open source yang dapat Anda gunakan untuk membuat situs web, blog, atau aplikasi Anda. Ada banyak desain dan fitur/plugin untuk ditambahkan ke instalasi WordPress Anda. WordPress adalah perangkat lunak gratis, namun, ada banyak plugin komersial untuk meningkatkannya tergantung pada kebutuhan Anda.

WordPress memudahkan Anda untuk mengelola konten Anda dan sangat fleksibel. Buat draf, jadwalkan publikasi, dan lihat revisi posting Anda. Jadikan konten Anda publik atau pribadi, dan amankan postingan dan halaman dengan kata sandi.

Untuk menjalankan WordPress, Anda harus memiliki setidaknya PHP versi 5.2.4+, MySQL versi 5.0+ (atau MariaDB), dan Apache atau Nginx. Beberapa dari versi ini telah mencapai EOL dan Anda dapat mengekspos situs Anda ke kerentanan keamanan, jadi Anda harus menginstal versi terbaru yang tersedia sesuai dengan lingkungan Anda.

Seperti yang bisa kita lihat, saat ini, WordPress hanya mendukung mesin database MySQL dan MariaDB. WPPG adalah plugin berdasarkan plugin PG4WP, yang memberi Anda kemungkinan untuk menginstal dan menggunakan WordPress dengan database PostgreSQL sebagai backend. Ia bekerja dengan mengganti panggilan ke fungsi khusus MySQL dengan panggilan umum yang memetakannya ke fungsi database lain dan menulis ulang kueri SQL dengan cepat saat dibutuhkan.

Untuk blog ini, kami akan menginstal 1 Server Aplikasi dengan WordPress 5.1.1 dan HAProxy, 1.5.18 di server yang sama, dan 2 node database PostgreSQL 11 (Master-Standby). Semua sistem operasi akan menggunakan CentOS 7. Untuk penyebaran database dan load balancer, kami akan menggunakan sistem ClusterControl.

Ini adalah lingkungan dasar. Anda dapat meningkatkannya dengan menambahkan lebih banyak fitur ketersediaan tinggi seperti yang Anda lihat di sini. Jadi, mari kita mulai.

Penerapan Basis Data

Pertama, kita perlu menginstal database PostgreSQL kita. Untuk ini, kami akan menganggap Anda telah menginstal ClusterControl.

Untuk melakukan penerapan dari ClusterControl, cukup pilih opsi “Deploy” dan ikuti petunjuk yang muncul.

Saat memilih PostgreSQL, kita harus menentukan User, Key atau Password dan port untuk terhubung dengan SSH ke server kita. Kami juga memerlukan nama untuk cluster baru kami dan jika kami ingin ClusterControl menginstal perangkat lunak dan konfigurasi yang sesuai untuk kami.

Setelah mengatur informasi akses SSH, kita harus menentukan pengguna database, versi dan datadir (opsional). Kami juga dapat menentukan repositori mana yang akan digunakan.

Pada langkah selanjutnya, kita perlu menambahkan server kita ke cluster yang akan kita buat.

Saat menambahkan server kami, kami dapat memasukkan IP atau nama host.

Pada langkah terakhir, kita dapat memilih apakah replikasi kita akan menjadi Sinkron atau Asinkron.

Kami dapat memantau status pembuatan cluster baru kami dari monitor aktivitas ClusterControl.

Setelah tugas selesai, kita dapat melihat cluster kita di layar ClusterControl utama.

Setelah cluster kami dibuat, kami dapat melakukan beberapa tugas di dalamnya, seperti menambahkan penyeimbang beban (HAProxy) atau replika baru.

ClusterControlSingle Console untuk Seluruh Infrastruktur Basis Data AndaCari tahu apa lagi yang baru di ClusterControlInstall ClusterControl GRATIS

Penerapan Penyeimbang Beban

Untuk melakukan penerapan penyeimbang beban, dalam hal ini, HAProxy, pilih opsi “Tambahkan Penyeimbang Beban” di tindakan cluster dan isi informasi yang diminta.

Kita hanya perlu menambahkan IP/Name, port, policy dan node yang akan kita gunakan. Secara default, HAProxy dikonfigurasi oleh ClusterControl dengan dua port berbeda, satu baca-tulis dan satu baca-saja. Di port baca-tulis, hanya master yang UP. Jika terjadi kegagalan, ClusterControl akan mempromosikan slave paling canggih dan akan mengubah konfigurasi HAProxy untuk mengaktifkan master baru dan menonaktifkan master lama. Dengan cara ini, kita akan memiliki failover otomatis jika terjadi kegagalan.

Jika kita mengikuti langkah sebelumnya, kita harus memiliki topologi berikut:

Jadi, kami memiliki satu titik akhir yang dibuat di Server Aplikasi dengan HAProxy. Sekarang, kita dapat menggunakan titik akhir ini dalam aplikasi sebagai koneksi localhost.

Instalasi WordPress

Mari instal WordPress di Server Aplikasi kita dan konfigurasikan untuk terhubung ke database PostgreSQL dengan menggunakan port HAProxy lokal 3307.

Pertama, instal paket yang diperlukan di Server Aplikasi.

$ yum install httpd php php-mysql php-pgsql postgresql
$ systemctl start httpd && systemctl enable httpd

Unduh versi WordPress terbaru dan pindahkan ke root dokumen apache.

$ wget https://wordpress.org/latest.tar.gz
$ tar zxf latest.tar.gz
$ mv wordpress /var/www/html/

Unduh plugin WPPG dan pindahkan ke direktori 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/

Salin file db.php ke direktori wp-content. Kemudian, edit dan ubah jalur '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');

Ganti nama wp-config.php dan ubah informasi database:

$ 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' );

Kemudian, kita perlu membuat database dan pengguna aplikasi di database PostgreSQL. Di simpul master:

$ 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

Dan edit file pg_hba.conf untuk mengizinkan koneksi dari Server Aplikasi.

$ Vi /var/lib/pgsql/11/data/pg_hba.conf
host  all  all  192.168.100.153/24  md5
$ systemctl reload postgresql-11

Pastikan Anda dapat mengaksesnya dari Server Aplikasi:

$ 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=>

Sekarang, buka install.php di browser web, dalam kasus kami, Alamat IP untuk Server Aplikasi adalah 192.168.100.153, jadi, kami pergi ke:

http://192.168.100.153/wordpress/wp-admin/install.php

Tambahkan Judul Situs, Nama Pengguna dan Kata Sandi untuk mengakses bagian admin, dan alamat email Anda.

Terakhir, buka Plugins -> Installed Plugins dan aktifkan plugin WPPG.

Kesimpulan

Sekarang, kami menjalankan WordPress dengan PostgreSQL dengan menggunakan satu titik akhir. Kami dapat memantau aktivitas cluster kami di ClusterControl dengan memeriksa berbagai metrik, dasbor, atau banyak fitur kinerja dan manajemen.

Ada berbagai cara untuk mengimplementasikan WordPress dengan PostgreSQL. Bisa saja dengan menggunakan plugin yang berbeda, atau dengan menginstal WordPress seperti biasa dan menambahkan plugin nanti, tetapi bagaimanapun juga, seperti yang kami sebutkan, PostgreSQL tidak didukung secara resmi oleh WordPress, jadi kami harus melakukan proses pengujian menyeluruh jika kami ingin gunakan topologi ini dalam produksi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transaksi Otonom di PostgreSQL 9.1

  2. Buat tabel dua jenis di PostgreSQL

  3. Permintaan hibah untuk tabel di postgres

  4. Kerangka entitas PostgreSQL

  5. Perbaiki “ERROR:  missing FROM-clause entry for table” di PostgreSQL saat menggunakan UNION, EXCEPT, atau INTERSECT