डॉकर के साथ अपनी वर्डप्रेस साइट को कैसे तैनात करें

चाहे आपके पास एक छोटी निजी साइट हो या लाखों आगंतुकों वाला एक बड़ा ब्लॉग हो - इसमें लेख डॉकर के साथ अपनी वर्डप्रेस साइट को जल्दी और आसानी से तैनात करना सीखें।

डॉकर क्या है?

डॉकर एक ओपन सोर्स सॉफ्टवेयर है, जो अनुप्रयोगों को पृथक कंटेनरों में चलाने की अनुमति देता है। यह डेवलपर्स को जटिल बुनियादी ढांचे के बारे में चिंता किए बिना अपने एप्लिकेशन को मानकीकृत वातावरण में तैनात करने और चलाने की अनुमति देता है।

डॉकर कैसे काम करता है?

डॉकर एक ओपन सोर्स प्रोजेक्ट है जो कंटेनर के रूप में सॉफ्टवेयर पैकेज प्रदान करता है। इन कंटेनरों का उपयोग किया जा सकता है हर कंप्यूटर ऑपरेटिंग सिस्टम की परवाह किए बिना चलाएं। डॉकर डेवलपर्स को अपने एप्लिकेशन को कंटेनरों में पैकेज करने और फिर उन्हें किसी भी प्लेटफ़ॉर्म पर तैनात करने की अनुमति देता है।

डॉकर कंटेनर सिद्धांत के अनुसार काम करता है। कंटेनर एक पृथक वातावरण है जिसमें कोई एप्लिकेशन चल सकता है। कंटेनर में वे सभी आवश्यक घटक, लाइब्रेरी और फ़ाइलें शामिल हैं जिनकी एप्लिकेशन को आवश्यकता होती है। अन्य कंटेनरों और होस्ट सिस्टम से अलगाव यह सुनिश्चित करता है कि कंटेनर में एप्लिकेशन त्रुटि मुक्त चलता है।

लिनक्स कंटेनर (LXC)

डॉकर लिनक्स कंटेनर (एलएक्ससी) पर आधारित है। एलएक्ससी एक ही पर कई वर्चुअल मशीनों की अनुमति देता है भौतिक सर्वर संचालित करने के लिए। प्रत्येक वर्चुअल मशीन का अपना सीपीयू, रैम और हार्ड ड्राइव होता है। हालाँकि, LXC कंटेनर अन्य कंटेनरों और होस्ट सिस्टम से पूरी तरह से अलग नहीं हैं।

पूर्ण कंटेनर अलगाव प्राप्त करने के लिए डॉकर नेमस्पेस और नियंत्रण समूह (सीग्रुप) का उपयोग करता है। नेमस्पेस कंटेनर वातावरण को एक दूसरे से अलग करते हैं। प्रत्येक कंटेनर का अपना नेटवर्क स्टैक, प्रक्रियाएं और उपयोगकर्ता होते हैं। नियंत्रण समूह कंटेनर की पहुंच को सीमित करते हैं साधन होस्ट सिस्टम जैसे सीपीयू, मेमोरी और हार्ड ड्राइव।

डॉकर के लाभ

डॉकर एक ओपन सोर्स प्रोजेक्ट है जो एप्लिकेशन और उनकी निर्भरता को अलग करने में सक्षम बनाता है। इसका मतलब यह है कि कोई एप्लिकेशन होस्ट सिस्टम पर इंस्टॉल किए बिना डॉकर कंटेनर में चल सकता है।

डॉकर विकास के लिए बहुत अच्छा है क्योंकि डेवलपर्स संगतता समस्याओं के बारे में चिंता किए बिना एक कंटेनर में अपने एप्लिकेशन का परीक्षण और डिबग कर सकते हैं।

दूसरा फायदा यह है कि डॉकर कंटेनर पोर्टेबल होते हैं। इसका मतलब यह है कि लिनक्स सिस्टम पर बनाया गया कंटेनर विंडोज या मैकओएस सिस्टम पर भी चल सकता है।

डॉकर कंटेनर किसी भी प्लेटफ़ॉर्म पर चल सकते हैं, डॉकर लिनक्स का समर्थन करता है, Windows और मैकओएस।

डॉकर के नुकसान

डॉकर एक है महान उपकरणकंटेनरों में अनुप्रयोगों को अलग करना और वितरित करना। हालाँकि, डॉकर के कुछ नुकसान भी हैं जिन पर आपको अपनी वर्डप्रेस साइट को डॉकर के साथ तैनात करने का निर्णय लेने से पहले विचार करना चाहिए।

डॉकर की सबसे बड़ी कमियों में से एक यह है कि यह अपेक्षाकृत नया उत्पाद है। इसका मतलब यह है कि उत्पाद के साथ कोई दीर्घकालिक अनुभव नहीं है और इसलिए अभी तक कोई सर्वोत्तम प्रथाएं स्थापित नहीं की गई हैं।

डॉकर का एक और नुकसान यह है कि इसमें हार्डवेयर और ऑपरेटिंग सिस्टम के संदर्भ में कुछ सीमाएँ हैं जिन पर इसे स्थापित किया जा सकता है। उदाहरण के लिए, आप Mac या Linux वितरण पर Windows कंटेनर नहीं चला सकते।

निष्कर्षतः, डॉकर कुछ सुरक्षा जोखिम भी उत्पन्न करता है। यह दुर्भावनापूर्ण हमलावरों को एक कंटेनर में घुसने और वहां से होस्ट कंप्यूटर पर हमला करने की अनुमति देता है। इसलिए, आपको इस बारे में ध्यान से सोचना चाहिए कि क्या आप अपनी वर्डप्रेस साइट को डॉकर के साथ तैनात करना चाहते हैं।

आपको अपनी वर्डप्रेस साइट को डॉकर के साथ क्यों तैनात करना चाहिए?

डॉकर एक ओपन सोर्स प्रोजेक्ट है जो कंटेनर प्रदान करता है जिसमें एप्लिकेशन चल सकते हैं। ये कंटेनर अलग-थलग हैं और उनका अपना वातावरण है जिसमें वे चलते हैं। आपके पास डॉकर होस्ट पर कई कंटेनर हो सकते हैं, और प्रत्येक कंटेनर एक अलग एप्लिकेशन चला सकता है।

डॉकर वर्डप्रेस साइटों को तैनात करने के लिए आदर्श है क्योंकि डॉकर आपको अपनी साइट चलाने के लिए एक स्वच्छ वातावरण देता है। इसके अतिरिक्त, डॉकर आपको एक ही पर कई वर्डप्रेस साइट रखने की अनुमति देता है मेजबान उपलब्ध करवाना।

आप डॉकर के साथ अपनी वर्डप्रेस साइट कैसे तैयार करते हैं?

इस लेख में, हम चर्चा करेंगे कि पहली बार डॉकर का उपयोग करके अपनी वर्डप्रेस साइट को कैसे तैनात किया जाए। यदि आपने अभी तक डॉकर स्थापित नहीं किया है, तो आप इंस्टॉलेशन निर्देश यहां पा सकते हैं।

सबसे पहले, आपको अपनी वर्डप्रेस साइट के लिए एक निर्देशिका बनानी होगी। यह वह निर्देशिका है जहां आपकी साइट की सभी फ़ाइलें संग्रहीत हैं। उदाहरण के लिए:

mkdir / मेरी-वर्डप्रेस-साइट

डोकर-compose.yml

इसके बाद, आपको इस निर्देशिका में एक docker-compose.yml फ़ाइल बनानी होगी। Docker-compose.yml फ़ाइल एक कॉन्फ़िगरेशन फ़ाइल है जो आपकी वर्डप्रेस साइट के लिए सभी सेटिंग्स को परिभाषित करती है। उदाहरण के लिए:

संस्करण: '2' सेवाएँ: db: छवि: mysql: 5.7 पुनरारंभ: हमेशा पर्यावरण: MYSQL_ROOT_PASSWORD: उदाहरण MYSQL_DATABASE: वर्डप्रेस MYSQL_USER: वर्डप्रेस MYSQL_PASSWORD: उदाहरण wp: छवि: वर्डप्रेस पुनरारंभ: हमेशा पर्यावरण: WORDPRESS_DB_HOST: db: 3306 WORDPRESS_DB_NAME: वर्डप्रेस वर्डप्रेस _DB_USER : वर्डप्रेस वर्डप्रेस_डीबी_पासवर्ड : उदाहरण पोर्ट : - "8080 : 80"

डॉकर-कंपोज़ संस्करण को सबसे पहले इस फ़ाइल में परिभाषित किया गया है। इस उदाहरण के लिए संस्करण 2 का उपयोग किया जाता है।

MySQL डेटाबेस

इसके बाद, दो सेवाओं को परिभाषित किया गया है, एक सेवा के लिए MySQL डेटाबेस और वर्डप्रेस के लिए एक सेवा। प्रत्येक सेवा को उपयोग करने के लिए एक छवि निर्दिष्ट करनी होगी। आप अन्य सेटिंग्स जैसे पर्यावरण चर, पोर्ट और फ़ाइल कॉल भी परिभाषित कर सकते हैं।

उदाहरण के लिए, इस उदाहरण में, वर्डप्रेस सेवा के लिए पर्यावरण चर WORDPRESS_DB_HOST को db सेवा पर सेट किया गया है। यह वर्डप्रेस को बताता है कि MySQL डेटाबेस बेफिडेट

ऐसी कई और सेटिंग्स हैं जिन्हें आप अपनी docker-compose.yml फ़ाइल में परिभाषित कर सकते हैं। अधिक जानकारी इसमें पाई जा सकती है डॉकर कम्पोज़ दस्तावेज़ीकरण.

.htaccess का

इसके बाद आपको अपनी निर्देशिका में एक .htaccess फ़ाइल बनानी होगी। इस फ़ाइल का उपयोग बनाने के लिए किया जाता है URLs आपकी वर्डप्रेस साइट के लिए. उदाहरण के लिए:

RewriteRule ^$ इंडेक्स पर RewriteEngine। php [QSA] रीराइटकॉन्ड % {REQUEST_FILENAME} ! -f RewriteCond % {REQUEST_FILENAME} ! -d रीराइटरूल ^( . * )$ इंडेक्स। php? $1 [क्यूएसए]

यह फ़ाइल आपकी वर्डप्रेस साइट के सभी अनुरोधों को Index.php के माध्यम से रूट करने के लिए बाध्य करती है। यह वर्डप्रेस साइटों के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन है।

wp-config.php

इसके बाद आपको अपनी निर्देशिका में एक wp-config.php फ़ाइल बनानी होगी। इस फ़ाइल में आपकी वर्डप्रेस साइट के लिए कॉन्फ़िगरेशन सेटिंग्स शामिल हैं। आप वर्डप्रेस की डिफ़ॉल्ट wp-config.php फ़ाइल का उपयोग कर सकते हैं या अपनी स्वयं की फ़ाइल बना सकते हैं।

उदाहरण के लिए:define('DB_NAME', 'wordpress'); /** MySQL डेटाबेस उपयोगकर्ता नाम */ परिभाषित करें ('DB_USER', 'वर्डप्रेस'); /** MySQL डेटाबेस पासवर्ड */ परिभाषित करें ('DB_PASSWORD', 'उदाहरण'); /** माई एसक्यूएल मेजबाननाम */परिभाषित('DB_HOST', 'db:3306'); /** डेटाबेस टेबल बनाने में उपयोग करने के लिए डेटाबेस चारसेट। */परिभाषित('DB_CHARSET', 'utf8'); /** डेटाबेस कोलेट प्रकार। संदेह होने पर इसे न बदलें. */ परिभाषित('DB_COLLATE', '');

इस फ़ाइल में, आपको अपनी वर्डप्रेस साइट के लिए डेटाबेस जानकारी कॉन्फ़िगर करने की आवश्यकता है। उदाहरण के लिए, DB_HOST को db सेवा पर सेट करने की आवश्यकता है ताकि वर्डप्रेस को पता चले कि MySQL डेटाबेस कहाँ स्थित है।

ऐसी कई और सेटिंग्स हैं जिन्हें आप अपनी wp-config.php फ़ाइल में परिभाषित कर सकते हैं। अधिक जानकारी इसमें पाई जा सकती है वर्डप्रेस दस्तावेज़ीकरण.

index.php

इसके बाद आपको अपनी निर्देशिका में एक Index.php फ़ाइल बनानी होगी। यह फ़ाइल आपकी वर्डप्रेस साइट के लिए मुख्य फ़ाइल है। उदाहरण के लिए:

इस फ़ाइल में, WP_USE_THEMES वेरिएबल को पहले सत्य पर सेट किया गया है ताकि वर्डप्रेस सक्रिय थीम का उपयोग कर सके। फिर wp-blog-header.php फ़ाइल लोड की जाती है, जो बाकी वर्डप्रेस एप्लिकेशन को आरंभ करती है।

Robots.txt

इसके बाद, आपको अपनी निर्देशिका में एक robots.txt फ़ाइल बनानी होगी। इस फ़ाइल का उपयोग आपकी साइट को क्रॉल करने वाले खोज इंजन बॉट को नियंत्रित करने के लिए किया जाता है। उदाहरण के लिए:

उपयोगकर्ता-एजेंट: * अस्वीकार करें: / wp-admin / अनुमति दें: / wp-admin / admin-ajax.php

यह उदाहरण निर्दिष्ट करता है कि सभी बॉट्स को /wp-admin/ निर्देशिका ब्राउज़ नहीं करनी चाहिए। यह आपके वर्डप्रेस इंस्टॉलेशन पर बॉट्स को अवांछित कार्रवाई करने से रोकने का एक अच्छा तरीका है।

favicon.ico

इसके बाद आपको अपनी निर्देशिका में एक favicon.ico फ़ाइल बनानी होगी। यह एक छोटा ग्राफ़िक है जो आपकी साइट पर जाने पर ब्राउज़र एड्रेस बार में दिखाई देता है। आप अपनी पसंद के किसी भी ग्राफ़िक का उपयोग कर सकते हैं या इस जैसे जनरेटर का उपयोग कर सकते हैं।

अपाचे कॉन्फ़िगरेशन फ़ाइल

इसके बाद आपको अपनी निर्देशिका में एक अपाचे कॉन्फ़िगरेशन फ़ाइल बनानी होगी। इस फ़ाइल का उपयोग आपकी साइट के लिए अपाचे वेब सर्वर कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए किया जाता है। उदाहरण के लिए:

सर्वरनाम my-wordpress-site.example.com DocumentRoot / my-wordpress-site ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log संयुक्त

इस फ़ाइल में, सर्वर नाम सबसे पहले आपकी साइट के डोमेन नाम या आईपी पते पर सेट किया जाता है। फिर दस्तावेज़ रूट को आपकी साइट की निर्देशिका पर सेट किया जाता है। त्रुटि और एक्सेस लॉग भी प्रदान किए गए हैं ताकि आप देख सकें कि आपकी साइट के साथ क्या हो रहा है।

ऐसी कई अन्य सेटिंग्स हैं जिन्हें आप अपनी अपाचे कॉन्फ़िगरेशन फ़ाइल में परिभाषित कर सकते हैं। अधिक जानकारी इसमें पाई जा सकती है अपाचे दस्तावेज़ीकरण.

php.ini

इसके बाद आपको अपनी निर्देशिका में एक php.ini फ़ाइल बनानी होगी। इस फ़ाइल का उपयोग आपकी साइट के लिए PHP कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए किया जाता है। उदाहरण के लिए:

डिस्प्ले_त्रुटियां = डिस्प्ले_स्टार्टअप_त्रुटियों पर = त्रुटि_रिपोर्टिंग पर = ई_सभी मेमोरी_लिमिट = 512एम अपलोड_मैक्स_फाइलसाइज = 64एम पोस्ट_मैक्स_साइज = 64एम अधिकतम_निष्पादन_समय = 300

इस फ़ाइल में कुछ बुनियादी PHP सेटिंग्स कॉन्फ़िगर की गई हैं। ऐसी कई अन्य सेटिंग्स हैं जिन्हें आप अपनी php.ini फ़ाइल में परिभाषित कर सकते हैं। अधिक जानकारी इसमें पाई जा सकती है पीएचपी दस्तावेज़ीकरण.

अपाचे vhost फ़ाइल

इसके बाद आपको अपनी निर्देशिका में एक Apache vhost फ़ाइल बनानी होगी। इस फ़ाइल का उपयोग आपकी साइट के लिए वर्चुअल होस्ट कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए किया जाता है। उदाहरण के लिए:

सर्वरनाम my-wordpress-site.example.com ServerAlias ​​​​www.my-wordpress-site.example.com DocumentRoot / my-wordpress-site ErrorLog $ {APACHE_LOG_DIR} / त्रुटि। लॉग कस्टमलॉग $ {APACHE_LOG_DIR} / एक्सेस। लॉग संयुक्त < निर्देशिका / मेरी-वर्डप्रेस - साइट > सभी को अनुमति दें सभी की आवश्यकता है

इस फ़ाइल में, सर्वर नाम सबसे पहले आपकी साइट के डोमेन नाम या आईपी पते पर सेट किया जाता है। फिर दस्तावेज़ रूट को आपकी साइट की निर्देशिका पर सेट किया जाता है। त्रुटि और एक्सेस लॉग भी प्रदान किए गए हैं ताकि आप देख सकें कि आपकी साइट के साथ क्या हो रहा है।

ऐसी कई अन्य सेटिंग्स हैं जिन्हें आप अपनी Apache vhost फ़ाइल में परिभाषित कर सकते हैं। अधिक जानकारी इसमें पाई जा सकती है अपाचे दस्तावेज़ीकरण.

अपाचे एसएसएल कॉन्फ़िगरेशन फ़ाइल

इसके बाद, आपको अपनी निर्देशिका में एक Apache SSL कॉन्फ़िगरेशन फ़ाइल बनानी होगी। इस फ़ाइल का उपयोग आपकी साइट के लिए SSL/TLS कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए किया जाता है। उदाहरण के लिए:

सर्वरनाम my-wordpress-site.example.com DocumentRoot / my-wordpress – साइट ErrorLog $ {APACHE_LOG_DIR} / त्रुटि। लॉग कस्टमलॉग $ {APACHE_LOG_DIR} / एक्सेस। SSLCertificateFile / path / से / अपने /certificate पर संयुक्त SSLEngine लॉग करें। crt SSLCertificateKeyFile / पथ / से / आपका / प्रमाणपत्र। चाबी

ऐसी कई अन्य सेटिंग्स हैं जिन्हें आप अपनी अपाचे एसएसएल कॉन्फ़िगरेशन फ़ाइल में परिभाषित कर सकते हैं। अधिक जानकारी इसमें पाई जा सकती है अपाचे दस्तावेज़ीकरण.

अंत में, आपको अपनी साइट के लिए एक एसएसएल प्रमाणपत्र बनाना होगा। यह Let's Encrypt जैसे टूल का उपयोग करके किया जा सकता है। अधिक जानकारी के लिए, अपाचे दस्तावेज़ देखें।

एक बार जब आप उपरोक्त सभी फ़ाइलें बना लेते हैं, तो आप docker-compose up -d Deploy कमांड का उपयोग करके अपनी वर्डप्रेस साइट लॉन्च कर सकते हैं। यह कमांड आपकी docker-compose.yml फ़ाइल में सभी सेवाएँ शुरू करता है और आपकी वर्डप्रेस साइट को तैनात करता है।

Fazit

इतना ही! इस लेख में, हमने सीखा कि डॉकर का उपयोग करके अपनी वर्डप्रेस साइट को कैसे तैनात किया जाए। हमने देखा है कि डॉकर छवि बनाना और तैनात करना कितना आसान है। हमने डॉकर के साथ तैनाती के फायदे भी सीखे।

नोट..महत्वपूर्ण है!

इस वेबसाइट से जुड़ी सभी बाहरी साइटें स्वतंत्र स्रोत हैं। 
ये लिंक प्रायोजित नहीं हैं और इन्हें शामिल करने के लिए कोई वित्तीय योगदान प्राप्त नहीं हुआ है। 
इस वेबसाइट पर सभी जानकारी बिना गारंटी के प्रदान की जाती है।
यह साइट एक निजी परियोजना है Jan Domke और केवल व्यक्तिगत राय और अनुभवों को दर्शाता है।

Jan Domke

शीघ्र अभियंता | सोशल मीडिया मैनेजर | होस्टिंग मैनेजर | वेब व्यवस्थापक

मैं 2021 के अंत से निजी तौर पर ऑनलाइन पत्रिका चला रहा हूं SEO4Business और इस तरह मेरी नौकरी एक शौक में बदल गयी।
मैं 2019 से काम कर रहा हूं Senior Hosting Manager, जर्मनी की सबसे बड़ी इंटरनेट और मार्केटिंग एजेंसियों में से एक में और लगातार अपने क्षितिज का विस्तार कर रहा हूं।

Jan Domke