कुछ प्रकार के परिनियोजन में, विशेष रूप से जहां रिच डायनेमिक एप्लिकेशन एक बड़े डेटाबेस पर निर्भर करते हैं, डेटाबेस सर्वर को एप्लिकेशन सर्वर से अलग करने से आपके एप्लिकेशन को अधिक बड़े उपयोगकर्ता आधार को स्केल और समायोजित करने की अनुमति मिल सकती है। पूरी तरह से MySQL द्वारा उपयोग किए जाने के लिए एक अलग सर्वर को नामित करने से एप्लिकेशन के वेब सर्वर को अधिक कुशलता से सामग्री की सेवा करने की अनुमति मिल जाएगी, जबकि डेटाबेस सर्वर अधिक तेज़ी से प्रतिक्रिया करने में सक्षम होगा।
परिणामस्वरूप, ये डेटाबेस सर्वर उच्च ट्रैफ़िक भार वाले परिनियोजन का अधिक प्रभावी ढंग से समर्थन कर सकते हैं। यह आपको कई तरह के अनुप्रयोगों के लिए उच्च प्रदर्शन प्राप्त करने में मदद कर सकता है, लोकप्रिय पैकेज जैसे कि वर्डप्रेस और ड्रुपल से लेकर रूबी ऑन रेल्स और डीजेंगो में लिखे गए कस्टम एप्लिकेशन तक।
आवश्यकताएं
इस गाइड में हम दो लाइनोड्स का उपयोग करेंगे। ध्यान दें कि यह आपके मौजूदा लिनोड खाते पर केवल दूसरी कॉन्फ़िगरेशन प्रोफ़ाइल को परिनियोजित करने से अलग है, क्योंकि दोनों सर्वरों को एक ही समय पर चलने की आवश्यकता होगी। हम मान रहे हैं कि आपने दोनों लाइनोड्स के लिए कंप्यूट इंस्टेंस गाइड की स्थापना और सुरक्षा का पालन किया है।
- वेब सर्वर चलाने वाले लाइनोड के लिए, अब से एप्लिकेशन सर्वर, आपके पास पहले से ही अपाचे (या आपका पसंदीदा वेब सर्वर) स्थापित होना चाहिए। एक नई स्थापना के लिए, अपने वितरण के लिए LAMP मार्गदर्शिका का पालन करें। LAMP गाइड में MySQL शामिल है, जिसे आपको इंस्टॉल करने की आवश्यकता नहीं है।
- समर्पित MySQL लाइनोड में MySQL स्थापित होना चाहिए। अपने वितरण के लिए MySQL डेटाबेस सर्वर इंस्टॉलेशन गाइड का पालन करें। ध्यान रखें कि आपको समर्पित MySQL सर्वर पर Apache स्थापित करने की आवश्यकता नहीं है।
साथ ही, आप प्रत्येक लिनोड के निजी आईपी पते के लिए उपनाम कॉन्फ़िगर करना चाहेंगे। इसके लिए सहायता के लिए आप Linux स्टेटिक IP कॉन्फ़िगरेशन मार्गदर्शिका का अनुसरण कर सकते हैं। यह ध्यान रखना महत्वपूर्ण है कि दोनों लाइनोड एक ही डेटा केंद्र में होने चाहिए काम करने के लिए निजी नेटवर्किंग के लिए। यह सर्वर को आपके मासिक बैंडविड्थ कोटा के विरुद्ध ट्रैफ़िक गणना के बिना संचार करने में सक्षम बनाता है। निजी आईपी पतों को कॉन्फ़िगर करने के बाद दोनों लाइनोड्स को रीबूट करना आवश्यक है।
संपादित करें /etc/hosts
आप प्रत्येक मशीन के लिए होस्टनाम बनाना चाहेंगे ताकि आप बाद में उन पर नज़र रख सकें। यह काम भी बचाता है, क्या आप खुद को ऐसी स्थिति में पाते हैं जहां आपको सर्वर का आईपी पता बदलने की जरूरत है। /etc/hosts
संपादित करें निजी . को शामिल करने के लिए फ़ाइल प्रत्येक लिनोड के आईपी पते। एक उदाहरण /etc/hosts
से निम्नलिखित अंश का उपयोग करें उदाहरण के तौर पर फाइल करें:
- फाइल:/ आदि/मेजबान
1
> 127.0.0.1 localhost 192.168.192.168 mysql.example.com mysql 192.168.192.169 app.example.com app
192.168.192.168
. को बदलना याद रखें और 192.168.192.169
वास्तविक निजी आईपी पते के साथ।
जबकि यह चरण वैकल्पिक है, hosts
को कॉन्फ़िगर करना प्रविष्टियाँ आपको विशिष्ट IP पतों पर हार्ड कोडिंग एप्लिकेशन कॉन्फ़िगरेशन से बचने की अनुमति देंगी। यदि आपको कभी भी अपना आईपी पता बदलना पड़े, तो आप अपने एप्लिकेशन और डेटाबेस सर्वर को वैकल्पिक सर्वर पर शीघ्रता से माइग्रेट करने में सक्षम होंगे।
MySQL सर्वर को कॉन्फ़िगर करना
अगला कदम /etc/mysql/my.cnf
को संशोधित करना है अपने निजी आईपी पते पर सुनने के लिए अपने MySQL सर्वर पर फ़ाइल करें। अपने पसंदीदा संपादक का उपयोग करके, /etc/mysql/my.cnf
खोलें फ़ाइल और MySQL डेटाबेस का होस्टनाम डालें। इस उदाहरण के लिए, MySQL डेटाबेस होस्टनाम mysql
है . bind-address
का पता लगाएँ लाइन:
- फाइल:/ आदि/mysql/my.cnf
1
bind-address = mysql
आप वैकल्पिक रूप से निजी आईपी पते का उपयोग कर सकते हैं। फ़ाइल को सहेजें, और MySQL डेमॉन को पुनः आरंभ करने के लिए निम्न कमांड चलाएँ:
/etc/init.d/mysql restart
डेटाबेस पहुंच प्रदान करना
समर्पित डेटाबेस सर्वर पर, आपको एक्सेस अधिकारों के साथ एक डेटाबेस उपयोगकर्ता नाम और पासवर्ड बनाने की आवश्यकता होगी। यह MySQL प्रॉम्प्ट के माध्यम से संभव है। निम्न आदेश जारी करें:
mysql -u root -p
यह एक MySQL कमांड लाइन प्रदान करेगा। app
. को प्रतिस्थापित करते हुए, निम्न आदेश जारी करें एप्लिकेशन सर्वर चलाने वाले लिनोड के होस्टनाम और "पासवर्ड" के स्थान पर एक मजबूत पासवर्ड के साथ:
CREATE DATABASE webapplications;
GRANT ALL ON webapplications.* TO [email protected]'app' IDENTIFIED BY 'PASSWORD';
इस स्तर पर आपका एप्लिकेशन दूरस्थ डेटाबेस तक सफलतापूर्वक पहुंच सकता है, और आप डेटाबेस सर्वर का उपयोग शुरू करने के लिए तैयार हैं।
डेटाबेस सर्वर का उपयोग करना
इस बिंदु से, सब कुछ कॉन्फ़िगर किया गया है और आपका डेटाबेस सर्वर आपके वेब सर्वर से कनेक्शन स्वीकार करने के लिए तैयार है। अब आप बिना किसी घटना के अपने आवेदन को MySQL सर्वर पर इंगित करने में सक्षम होना चाहिए। यह याद रखना महत्वपूर्ण है कि दूरस्थ MySQL सर्वर के साथ काम करने के लिए वेब एप्लिकेशन सेट करते समय आपको रिमोट सिस्टम के अधिकारों के साथ एक उपयोगकर्ता बनाना होगा (जैसा कि ऊपर दिखाया गया है)।
एक अलग डेटाबेस सर्वर पर MySQL का उपयोग करना स्थानीय डेटाबेस सर्वर को चलाने के समान है। आमतौर पर, एप्लिकेशन के लिए आपको "डेटाबेस होस्टनाम" निर्दिष्ट करने की आवश्यकता होती है, और स्थानीय मशीन पर चलने वाले पारंपरिक डेटाबेस सर्वरों का होस्टनाम localhost
होता है। . जब आप डेटाबेस और एप्लिकेशन सर्वर को अलग करते हैं, तो आपको एप्लिकेशन में ऊपर सेट किए गए होस्टनाम को निर्दिष्ट करने की आवश्यकता होगी।
उदाहरण के लिए, इनवर्डप्रेस डेटाबेस सेटिंग्स wp-config.php
में समाहित हैं फ़ाइल, और होस्टनाम निम्न स्वरूप में निर्दिष्ट है:
- फाइल:wp -config.php
1 2
/** MySQL hostname */ define('DB_HOST', 'mysql');
ध्यान दें कि होस्टनाम सेट करने का तरीका हर एप्लिकेशन में अलग-अलग होता है। इसके अलावा, आप /etc/hosts
में कॉन्फ़िगर किए गए होस्टनाम का उपयोग करने के बजाय, डेटाबेस सर्वर के विशिष्ट IP पते को प्रतिस्थापित कर सकते हैं ऊपर।
MySQL विशिष्ट प्रश्नों और संबंधित सहायता के लिए बाहरीMySQL वेबसाइट को संदर्भित करने पर भी विचार करें।
अधिक जानकारी
आप इस विषय पर अतिरिक्त जानकारी के लिए निम्नलिखित संसाधनों से परामर्श करना चाह सकते हैं। हालांकि ये इस उम्मीद में प्रदान किए जाते हैं कि वे उपयोगी होंगे, कृपया ध्यान दें कि हम बाहरी रूप से होस्ट की गई सामग्री की सटीकता या समयबद्धता की पुष्टि नहीं कर सकते।
- वेब अनुप्रयोग मार्गदर्शिकाएँ
- वेब एप्लिकेशन फ्रेमवर्क
- डेटाबेस प्रबंधन प्रणाली