PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách triển khai PostgreSQL khả dụng cao với Điểm cuối duy nhất cho WordPress

WordPress là một phần mềm mã nguồn mở mà bạn có thể sử dụng để tạo trang web, blog hoặc ứng dụng của mình. Có nhiều thiết kế và tính năng / plugin để thêm vào cài đặt WordPress của bạn. WordPress là một phần mềm miễn phí, tuy nhiên, có nhiều plugin thương mại để cải thiện nó tùy thuộc vào yêu cầu của bạn.

WordPress giúp bạn dễ dàng quản lý nội dung của mình và nó thực sự linh hoạt. Tạo bản nháp, lên lịch xuất bản và xem các bản sửa đổi bài đăng của bạn. Đặt nội dung của bạn ở chế độ công khai hoặc riêng tư, đồng thời bảo mật các bài đăng và trang bằng mật khẩu.

Để chạy WordPress, bạn phải có ít nhất phiên bản PHP 5.2.4+, MySQL phiên bản 5.0+ (hoặc MariaDB) và Apache hoặc Nginx. Một số phiên bản này đã đạt đến mức EOL và bạn có thể khiến trang web của mình gặp phải các lỗ hổng bảo mật, vì vậy bạn nên cài đặt phiên bản mới nhất có sẵn tùy theo môi trường của bạn.

Như chúng ta có thể thấy, hiện tại, WordPress chỉ hỗ trợ các công cụ cơ sở dữ liệu MySQL và MariaDB. WPPG là một plugin dựa trên plugin PG4WP, cung cấp cho bạn khả năng cài đặt và sử dụng WordPress với cơ sở dữ liệu PostgreSQL làm chương trình phụ trợ. Nó hoạt động bằng cách thay thế các lệnh gọi tới các hàm cụ thể của MySQL bằng các lệnh gọi chung ánh xạ chúng tới các hàm cơ sở dữ liệu khác và viết lại các truy vấn SQL khi cần thiết.

Đối với blog này, chúng tôi sẽ cài đặt 1 Máy chủ ứng dụng với WordPress 5.1.1 và HAProxy, 1.5.18 trong cùng một máy chủ và 2 nút cơ sở dữ liệu PostgreSQL 11 (Master-Standby). Tất cả hệ điều hành sẽ là CentOS 7. Để triển khai cơ sở dữ liệu và bộ cân bằng tải, chúng tôi sẽ sử dụng hệ thống ClusterControl.

Đây là một môi trường cơ bản. Bạn có thể cải thiện nó bằng cách thêm nhiều tính năng có tính khả dụng cao hơn như bạn có thể thấy ở đây. Vì vậy, hãy bắt đầu.

Triển khai cơ sở dữ liệu

Đầu tiên, chúng ta cần cài đặt cơ sở dữ liệu PostgreSQL của mình. Đối với điều này, chúng tôi sẽ giả sử bạn đã cài đặt ClusterControl.

Để thực hiện triển khai từ ClusterControl, chỉ cần chọn tùy chọn “Triển khai” và làm theo hướng dẫn xuất hiện.

Khi chọn PostgreSQL, chúng tôi phải chỉ định Người dùng, Khóa hoặc Mật khẩu và cổng để kết nối bằng SSH với máy chủ của chúng tôi. Chúng tôi cũng cần một tên cho cụm mới của mình và nếu chúng tôi muốn ClusterControl cài đặt phần mềm và cấu hình tương ứng cho chúng tôi.

Sau khi thiết lập thông tin truy cập SSH, chúng ta phải xác định người dùng cơ sở dữ liệu, phiên bản và datadir (tùy chọn). Chúng tôi cũng có thể chỉ định kho lưu trữ nào sẽ sử dụng.

Trong bước tiếp theo, chúng tôi cần thêm máy chủ của mình vào cụm mà chúng tôi sẽ tạo.

Khi thêm máy chủ của mình, chúng tôi có thể nhập IP hoặc tên máy chủ.

Trong bước cuối cùng, chúng tôi có thể chọn xem bản sao của chúng tôi sẽ là Đồng bộ hay Không đồng bộ.

Chúng tôi có thể theo dõi trạng thái tạo cụm mới của mình từ trình theo dõi hoạt động ClusterControl.

Sau khi tác vụ hoàn thành, chúng ta có thể thấy cụm của mình trong màn hình ClusterControl chính.

Khi chúng tôi đã tạo cụm của mình, chúng tôi có thể thực hiện một số tác vụ trên đó, chẳng hạn như thêm bộ cân bằng tải (HAProxy) hoặc một bản sao mới.

ClusterControlSingle Console cho Toàn bộ Cơ sở dữ liệu Cơ sở hạ tầng của bạnTìm hiểu những tính năng mới khác trong ClusterControlInstall ClusterControl MIỄN PHÍ

Triển khai Load Balancer

Để thực hiện triển khai bộ cân bằng tải, trong trường hợp này là HAProxy, hãy chọn tùy chọn “Thêm bộ cân bằng tải” trong các hành động của cụm và điền thông tin được hỏi.

Chúng tôi chỉ cần thêm IP / Tên, cổng, chính sách và các nút mà chúng tôi sẽ sử dụng. Theo mặc định, HAProxy được cấu hình bởi ClusterControl với hai cổng khác nhau, một cổng đọc-ghi và một cổng chỉ đọc. Trong cổng đọc-ghi, chỉ có cái chính là LÊN. Trong trường hợp không thành công, ClusterControl sẽ quảng bá máy phụ nâng cao nhất và nó sẽ thay đổi cấu hình HAProxy để bật chế độ chính mới và vô hiệu hóa máy chủ cũ. Bằng cách này, chúng tôi sẽ tự động chuyển đổi dự phòng trong trường hợp không thành công.

Nếu chúng ta đã làm theo các bước trước đó, chúng ta sẽ có cấu trúc liên kết sau:

Vì vậy, chúng tôi có một điểm cuối duy nhất được tạo trong Máy chủ ứng dụng với HAProxy. Bây giờ, chúng ta có thể sử dụng điểm cuối này trong ứng dụng làm kết nối localhost.

Cài đặt WordPress

Hãy cài đặt WordPress trên Máy chủ ứng dụng của chúng tôi và định cấu hình nó để kết nối với cơ sở dữ liệu PostgreSQL bằng cách sử dụng cổng HAProxy cục bộ 3307.

Trước tiên, hãy cài đặt các gói cần thiết trên Máy chủ ứng dụng.

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

Tải xuống phiên bản WordPress mới nhất và chuyển nó vào thư mục gốc của tài liệu apache.

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

Tải xuống plugin WPPG và di chuyển nó vào thư mục 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/

Sao chép tệp db.php vào thư mục wp-content. Sau đó, chỉnh sửa nó và thay đổi đường dẫn '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');

Đổi tên wp-config.php và thay đổi thông tin cơ sở dữ liệu:

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

Sau đó, chúng ta cần tạo cơ sở dữ liệu và người dùng ứng dụng trong cơ sở dữ liệu PostgreSQL. Trên nút chính:

$ 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

Và chỉnh sửa tệp pg_hba.conf để cho phép kết nối từ Máy chủ ứng dụng.

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

Đảm bảo rằng bạn có thể truy cập nó từ Máy chủ ứng dụng:

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

Bây giờ, hãy truy cập install.php trong trình duyệt web, trong trường hợp của chúng tôi, Địa chỉ IP cho Máy chủ Ứng dụng là 192.168.100.153, vì vậy, chúng tôi truy cập:

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

Thêm Tiêu đề trang, Tên người dùng và Mật khẩu để truy cập phần quản trị và địa chỉ email của bạn.

Cuối cùng, đi tới Plugins -> Plugins đã cài đặt và kích hoạt plugin WPPG.

Kết luận

Bây giờ, chúng ta có WordPress đang chạy với PostgreSQL bằng cách sử dụng một điểm cuối duy nhất. Chúng tôi có thể theo dõi hoạt động cụm của mình trên ClusterControl bằng cách kiểm tra các chỉ số, trang tổng quan hoặc nhiều tính năng quản lý và hiệu suất khác nhau.

Có nhiều cách khác nhau để triển khai WordPress với PostgreSQL. Đó có thể là bằng cách sử dụng một plugin khác hoặc bằng cách cài đặt WordPress như bình thường và thêm plugin sau đó, nhưng trong mọi trường hợp, như chúng tôi đã đề cập, PostgreSQL không được WordPress hỗ trợ chính thức, vì vậy chúng tôi phải thực hiện quá trình kiểm tra toàn diện nếu chúng tôi muốn sử dụng cấu trúc liên kết này trong sản xuất.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính toán phần trăm từ SUM () trong cùng một truy vấn SELECT sql

  2. Làm cách nào để tạo một chuỗi duy nhất cho mỗi bản ghi trong bảng trong Postgres?

  3. Lưu trữ và truy xuất hình ảnh trong Postgresql bằng Java

  4. Giới hạn quyền truy cập của người dùng PostgreSQL bằng lược đồ và chế độ xem

  5. Tên quy trình PostgreSQL trên Solaris