वर्डप्रेस एक ओपन सोर्स सॉफ्टवेयर है जिसका उपयोग आप अपनी वेबसाइट, ब्लॉग या एप्लिकेशन बनाने के लिए कर सकते हैं। आपके वर्डप्रेस इंस्टॉलेशन में जोड़ने के लिए कई डिज़ाइन और सुविधाएँ / प्लगइन्स हैं। वर्डप्रेस एक मुफ्त सॉफ्टवेयर है, हालांकि, आपकी आवश्यकताओं के आधार पर इसे बेहतर बनाने के लिए कई व्यावसायिक प्लगइन्स हैं।
वर्डप्रेस आपके लिए अपनी सामग्री को प्रबंधित करना आसान बनाता है और यह वास्तव में लचीला है। ड्राफ्ट बनाएं, प्रकाशन शेड्यूल करें, और अपने पोस्ट संशोधन देखें। अपनी सामग्री को सार्वजनिक या निजी बनाएं और पोस्ट और पेज को पासवर्ड से सुरक्षित करें।
वर्डप्रेस चलाने के लिए आपके पास कम से कम PHP संस्करण 5.2.4+, MySQL संस्करण 5.0+ (या MariaDB), और Apache या Nginx होना चाहिए। इनमें से कुछ संस्करण ईओएल तक पहुंच चुके हैं और आप अपनी साइट को सुरक्षा कमजोरियों के लिए उजागर कर सकते हैं, इसलिए आपको अपने परिवेश के अनुसार उपलब्ध नवीनतम संस्करण को स्थापित करना चाहिए।
जैसा कि हम देख सकते हैं, वर्तमान में, वर्डप्रेस केवल MySQL और MariaDB डेटाबेस इंजनों का समर्थन करता है। WPPG, PG4WP प्लगइन पर आधारित एक प्लगइन है, जो आपको बैकएंड के रूप में PostgreSQL डेटाबेस के साथ वर्डप्रेस को स्थापित और उपयोग करने की संभावना देता है। यह सामान्य कॉल के साथ MySQL विशिष्ट कार्यों के लिए कॉल को बदलकर काम करता है जो उन्हें अन्य डेटाबेस कार्यों के लिए मैप करता है और जरूरत पड़ने पर तुरंत SQL क्वेरी को फिर से लिखता है।
इस ब्लॉग के लिए, हम वर्डप्रेस 5.1.1 और HAProxy के साथ 1 एप्लिकेशन सर्वर, एक ही सर्वर में 1.5.18 और 2 PostgreSQL 11 डेटाबेस नोड्स (मास्टर-स्टैंडबाय) स्थापित करेंगे। सभी ऑपरेटिंग सिस्टम CentOS 7 होंगे। डेटाबेस और लोड बैलेंसर परिनियोजित करने के लिए हम ClusterControl सिस्टम का उपयोग करेंगे।
यह एक बुनियादी वातावरण है। आप अधिक उच्च उपलब्धता सुविधाओं को जोड़कर इसे बेहतर बना सकते हैं जैसा कि आप यहां देख सकते हैं। तो चलिए शुरू करते हैं।
डेटाबेस परिनियोजन
सबसे पहले, हमें अपना PostgreSQL डेटाबेस स्थापित करना होगा। इसके लिए, हम मान लेंगे कि आपने ClusterControl स्थापित कर लिया है।
ClusterControl से परिनियोजन करने के लिए, बस "तैनाती" विकल्प चुनें और दिखाई देने वाले निर्देशों का पालन करें।
PostgreSQL का चयन करते समय, हमें SSH द्वारा अपने सर्वर से कनेक्ट करने के लिए उपयोगकर्ता, कुंजी या पासवर्ड और पोर्ट निर्दिष्ट करना होगा। हमें अपने नए क्लस्टर के लिए एक नाम की भी आवश्यकता है और यदि हम चाहते हैं कि ClusterControl हमारे लिए संबंधित सॉफ़्टवेयर और कॉन्फ़िगरेशन स्थापित करे।
एसएसएच एक्सेस जानकारी सेट करने के बाद, हमें डेटाबेस उपयोगकर्ता, संस्करण और डेटादिर (वैकल्पिक) को परिभाषित करना होगा। हम यह भी निर्दिष्ट कर सकते हैं कि किस भंडार का उपयोग करना है।
अगले चरण में, हमें अपने सर्वर को उस क्लस्टर में जोड़ना होगा जिसे हम बनाने जा रहे हैं।
अपने सर्वर जोड़ते समय, हम IP या होस्टनाम दर्ज कर सकते हैं।
अंतिम चरण में, हम चुन सकते हैं कि हमारी प्रतिकृति सिंक्रोनस या एसिंक्रोनस होगी।
हम ClusterControl गतिविधि मॉनिटर से अपने नए क्लस्टर के निर्माण की स्थिति की निगरानी कर सकते हैं।
एक बार कार्य समाप्त हो जाने के बाद, हम अपने क्लस्टर को मुख्य ClusterControl स्क्रीन में देख सकते हैं।
एक बार जब हम अपना क्लस्टर बना लेते हैं, तो हम उस पर कई कार्य कर सकते हैं, जैसे लोड बैलेंसर (HAProxy) या एक नई प्रतिकृति जोड़ना।
आपके संपूर्ण डेटाबेस इन्फ्रास्ट्रक्चर के लिए ClusterControlSingle कंसोल पता करें कि ClusterControl में और क्या नया है, ClusterControl को निःशुल्क स्थापित करेंबैलेंसर परिनियोजन लोड करें
लोड बैलेंसर परिनियोजन करने के लिए, इस मामले में, HAProxy, क्लस्टर क्रियाओं में "लोड बैलेंसर जोड़ें" विकल्प चुनें और मांगी गई जानकारी भरें।
हमें केवल IP/नाम, पोर्ट, नीति और उन नोड्स को जोड़ने की आवश्यकता है जिनका हम उपयोग करने जा रहे हैं। डिफ़ॉल्ट रूप से, HAProxy को क्लस्टरकंट्रोल द्वारा दो अलग-अलग पोर्ट, एक रीड-राइट और एक रीड-ओनली के साथ कॉन्फ़िगर किया गया है। रीड-राइट पोर्ट में केवल मास्टर यूपी है। विफलता के मामले में, ClusterControl सबसे उन्नत दास को बढ़ावा देगा और यह नए मास्टर को सक्षम करने और पुराने को अक्षम करने के लिए HAProxy कॉन्फ़िगरेशन को बदल देगा। इस तरह, विफलता के मामले में हमारे पास स्वचालित विफलता होगी।
यदि हमने पिछले चरणों का पालन किया है, तो हमारे पास निम्नलिखित टोपोलॉजी होनी चाहिए:
इसलिए, हमारे पास HAProxy के साथ एप्लिकेशन सर्वर में बनाया गया एक एकल समापन बिंदु है। अब, हम इस एंडपॉइंट को एप्लिकेशन में लोकलहोस्ट कनेक्शन के रूप में उपयोग कर सकते हैं।
वर्डप्रेस इंस्टालेशन
आइए हमारे एप्लिकेशन सर्वर पर वर्डप्रेस स्थापित करें और स्थानीय HAProxy पोर्ट 3307 का उपयोग करके PostgreSQL डेटाबेस से कनेक्ट करने के लिए इसे कॉन्फ़िगर करें।
सबसे पहले, एप्लिकेशन सर्वर पर आवश्यक पैकेज स्थापित करें।
$ yum install httpd php php-mysql php-pgsql postgresql
$ systemctl start httpd && systemctl enable httpd
नवीनतम वर्डप्रेस संस्करण डाउनलोड करें और इसे अपाचे दस्तावेज़ रूट पर ले जाएं।
$ wget https://wordpress.org/latest.tar.gz
$ tar zxf latest.tar.gz
$ mv wordpress /var/www/html/
WPPG प्लगइन डाउनलोड करें और इसे वर्डप्रेस प्लगइन्स डायरेक्टरी में ले जाएँ।
$ 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/
db.php फ़ाइल को wp-content निर्देशिका में कॉपी करें। फिर, इसे संपादित करें और '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');
wp-config.php का नाम बदलें और डेटाबेस जानकारी बदलें:
$ 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' );
फिर, हमें PostgreSQL डेटाबेस में डेटाबेस और एप्लिकेशन उपयोगकर्ता बनाने की आवश्यकता है। मास्टर नोड पर:
$ 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
और एप्लिकेशन सर्वर से कनेक्शन की अनुमति देने के लिए pg_hba.conf फ़ाइल को संपादित करें।
$ Vi /var/lib/pgsql/11/data/pg_hba.conf
host all all 192.168.100.153/24 md5
$ systemctl reload postgresql-11
सुनिश्चित करें कि आप इसे एप्लिकेशन सर्वर से एक्सेस कर सकते हैं:
$ 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=>
अब, वेब ब्राउज़र में install.php पर जाएं, हमारे मामले में, एप्लिकेशन सर्वर के लिए आईपी पता 192.168.100.153 है, इसलिए, हम यहां जाते हैं:
http://192.168.100.153/wordpress/wp-admin/install.php
व्यवस्थापक अनुभाग, और अपने ईमेल पते तक पहुंचने के लिए साइट शीर्षक, उपयोगकर्ता नाम और पासवर्ड जोड़ें।
अंत में, प्लगइन्स -> इंस्टॉल किए गए प्लगइन्स पर जाएं और WPPG प्लगइन को सक्रिय करें।
निष्कर्ष
अब, हमारे पास सिंगल एंडपॉइंट का उपयोग करके वर्डप्रेस पोस्टग्रेएसक्यूएल के साथ चल रहा है। हम विभिन्न मेट्रिक्स, डैशबोर्ड या कई प्रदर्शन और प्रबंधन सुविधाओं की जाँच करके ClusterControl पर अपनी क्लस्टर गतिविधि की निगरानी कर सकते हैं।
PostgreSQL के साथ वर्डप्रेस को लागू करने के विभिन्न तरीके हैं। यह एक अलग प्लगइन का उपयोग करके, या सामान्य रूप से वर्डप्रेस स्थापित करके और बाद में प्लगइन जोड़कर हो सकता है, लेकिन किसी भी मामले में, जैसा कि हमने उल्लेख किया है, PostgreSQL आधिकारिक तौर पर वर्डप्रेस द्वारा समर्थित नहीं है, इसलिए यदि हम चाहते हैं तो हमें एक संपूर्ण परीक्षण प्रक्रिया करनी चाहिए। उत्पादन में इस टोपोलॉजी का उपयोग करें।