कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
RabbitMQ एक खुला स्रोत संदेश दलाल है जो AMQP, STOMP और अन्य संचार तकनीकों का समर्थन करता है। यह एंटरप्राइज़ एप्लिकेशन और आधुनिक माइक्रो-सर्विस आर्किटेक्चर में व्यापक रूप से उपयोग किया जाता है जहां यह विभिन्न सूक्ष्म सेवाओं के बीच अतुल्यकालिक संदेश चैनल के रूप में कार्य करता है। यह मार्गदर्शिका बताएगी कि आप एक उच्च-उपलब्धता संदेश दलाल बनाने के लिए कई CentOS 7 सर्वरों पर RabbitMQ को कैसे क्लस्टर कर सकते हैं। इस ट्यूटोरियल में, एक सर्वर मास्टर सर्वर के रूप में कार्य करेगा और अन्य सर्वर दर्पण सर्वर के रूप में कार्य करेगा यदि मास्टर सर्वर अनुपलब्ध हो जाता है।
CentOS फ़ायरवॉल, ( firewalld
), डिफ़ॉल्ट रूप से आने वाले किसी भी ट्रैफ़िक की अनुमति नहीं देता है। नेटवर्क के भीतर और बाहर अन्य प्रणालियों के लिए RabbitMQ उपलब्ध कराने के लिए, और हमें प्रबंधन कंसोल तक पहुंचने की अनुमति देने के लिए, हमें पहले कुछ पोर्ट खोलना होगा।
RabbitMQ का वेब इंटरफ़ेस प्रबंधन कंसोल डिफ़ॉल्ट रूप से पोर्ट पर सुनता है 15672
। हम प्रबंधन कंसोल को सार्वजनिक रूप से उपलब्ध कराना चाहते हैं ताकि हम इसे अपने कंप्यूटर से एक्सेस कर सकें। इसलिए हम सार्वजनिक क्षेत्र में firewalld
स्थायी रूप से खुले बंदरगाह 15672
(जो कि वल्चर उदाहरण पर डिफ़ॉल्ट और सक्रिय क्षेत्र है) को निर्देश देंगे ।
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
RabbitMQ नोड्स को एक दूसरे के साथ संवाद करने में सक्षम होने की आवश्यकता है। हम आवश्यक बंदरगाहों को खोलना चाहते हैं, लेकिन केवल आंतरिक नेटवर्क पर। हम नहीं चाहते कि इंटरनेट पर कोई भी हमारे सर्वर का प्रशासन या सीधे संपर्क करने में सक्षम हो। निम्न आदेश मान लेते हैं कि हमारे सर्वर 192.168.0.100/24
सबनेट पर हैं।
पहली सेवा epmd
सहकर्मी खोज सेवा है जो पोर्ट पर डिफ़ॉल्ट रूप से सुनती है 4369
।
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="4369" accept'
इंटर्नोड और सीएलआई संचार के लिए, RabbitMQ को पोर्ट पर संचार करने में सक्षम होना चाहिए 25672
।
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="25672" accept'
सीएलआई उपकरण बंदरगाहों की सीमा पर संवाद करते हैं 35672-35682
।
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="35672-35682" accept'
अपने अनुप्रयोगों AMQP प्रोटोकॉल की जरूरत है, तो आप भी खुला बंदरगाहों की आवश्यकता होगी 5671
और 5672
। यदि आपको किसी अन्य प्रोटोकॉल पर संवाद करने में सक्षम होने की आवश्यकता है, तो आप आधिकारिक RabbitMQ प्रलेखन पर RabbitMQ की नेटवर्किंग आवश्यकताओं के बारे में आवश्यक जानकारी पा सकते हैं ।
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="5672" accept'
sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/24"
port protocol="tcp" port="5671" accept'
अब firewalld
यह कॉन्फ़िगर किया गया है, हमें कॉन्फ़िगरेशन को फिर से लोड करने के लिए इसे निर्देश देने की आवश्यकता है।
sudo firewall-cmd --reload
सभी सर्वरों पर इस खंड से चरणों को दोहराएं।
rabbitmqadmin
प्रबंधन प्लगइन एक पायथन टूल के साथ आता है, जिसे rabbitmqadmin
प्रबंधन प्लगइन सक्षम होने के बाद सिस्टम पर आसानी से स्थापित किया जा सकता है।
sudo wget http://localhost:15672/cli/rabbitmqadmin
sudo mv rabbitmqadmin /usr/local/bin/
sudo chmod +x /usr/local/bin/rabbitmqadmin
क्लस्टरिंग करते समय सर्वर की पहचान करने के लिए आपको सर्वर के होस्टनाम का उपयोग करना चाहिए। डिफ़ॉल्ट रूप से, सर्वर का कोई DNS रिकॉर्ड असाइन नहीं किया गया है और कनेक्शन विफल हो जाएगा। इसे जल्दी से दूर करने के लिए, /etc/hosts
अपने पसंदीदा संपादक का उपयोग करके फ़ाइल में मास्टर और मिरर होस्ट नाम जोड़ें ।
उदाहरण के लिए, आपके मास्टर की होस्ट फ़ाइल निम्नलिखित की तरह दिख सकती है। पिछले दो रिकॉर्ड देखें, जो सर्वर को उनके होस्टनाम द्वारा एक दूसरे की पहचान करने की अनुमति देते हैं। अपने खुद के आईपी पते को बदलना सुनिश्चित करें।
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 guest
::1 guest
127.0.0.1 YOUR_MASTER_SERVER_HOST_NAME
::1 YOUR_MASTER_SERVER_HOST_NAME
192.168.0.101 YOUR_MASTER_SERVER_HOST_NAME
192.168.0.102 YOUR_MIRROR_SERVER_HOST_NAME
नोड्स को एक दूसरे से जुड़ने की अनुमति देने के लिए एक आवश्यक शर्त यह है कि सभी नोड्स की एरलैंग कुकी समान है। डिफ़ॉल्ट रूप से, प्रत्येक नोड को एक अद्वितीय एरलैंग कुकी दी जाएगी, इसलिए आपको इसे सभी नोड्स पर पुनः कॉन्फ़िगर करना होगा।
निम्नलिखित कमांड एरलांग कुकी को " WE<3COOKIES
" पर सेट कर देगी , लेकिन इसे अपनी पसंद के अनुसार बदलने के लिए स्वतंत्र महसूस करें। सभी सर्वरों पर ऐसा करें।
sudo sh -c "echo 'WE<3COOKIES' > /var/lib/rabbitmq/.erlang.cookie"
सभी सर्वर पर RabbitMQ को पुनरारंभ करें, यह सुनिश्चित करने के लिए कि Erlang कुकी ठीक से लोड की गई है।
sudo systemctl restart rabbitmq-server.service
मास्टर सर्वर को छोड़कर सभी सर्वरों पर निम्न आदेश निष्पादित करें। यह नोड्स को मास्टर सर्वर से जुड़ने और एक क्लस्टर बनाने देगा।
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster "rabbit@<YOUR_MASTER_SERVER_HOST_NAME>"
sudo rabbitmqctl start_app
सत्यापित करें कि नोड्स निम्नलिखित कमांड चलाकर क्लस्टर में शामिल हो गए हैं।
sudo rabbitmqctl cluster_status
आपके सभी नोड आउटपुट के nodes
और running_nodes
अनुभाग में दिखाई देंगे । अब से, आपको प्रत्येक सर्वर पर चरणों को दोहराने की आवश्यकता नहीं होगी, कॉन्फ़िगरेशन स्वचालित रूप से अन्य नोड्स को प्रतिबिंबित किया जाएगा।
अब जब हमारे पास RabbitMQ नोड्स का एक क्लस्टर है, तो हम इसका उपयोग नई पॉलिसी की स्थापना करके उच्च उपलब्धता वाले कतारों और एक्सचेंजों को बनाने के लिए कर सकते हैं। इस नीति को RabbitMQ Management Console या कमांड लाइन इंटरफ़ेस का उपयोग करके जोड़ा जा सकता है।
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "all" ha ".*" '{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'
निम्न सूची बताएगी कि कमांड के प्रत्येक भाग का क्या अर्थ है।
-p "/"
: इस नीति का उपयोग "/"
vhost पर करें (स्थापना के बाद डिफ़ॉल्ट)--priority 1
: नीतियों को लागू करने का क्रम --apply-to "all"
: हो सकता है "queues"
, "exchanges"
या"all"
ha
: नाम हम अपनी पॉलिसी को देते हैं ".*"
: नियमित अभिव्यक्ति जो यह तय करने के लिए उपयोग की जाती है कि यह नीति किन कतारों या एक्सचेंजों पर लागू होती है। ".*"
कुछ भी मैच करेगा'{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'
: पॉलिसी का JSON प्रतिनिधित्व। यह दस्तावेज़ बताता है कि हम चाहते हैं - ठीक 2 नोड्स, जिस पर डेटा स्वचालित रूप से सिंक्रनाइज़ हैसंक्षेप में, यह नीति यह सुनिश्चित करेगी कि हम हमेशा किसी कतार या विनिमय पर डेटा की 2 प्रतियां प्राप्त करेंगे जब तक कि हमारे पास कम से कम 2 नोड ऊपर और चल रहे हों। यदि आपके पास अधिक नोड्स हैं तो आप मान बढ़ा सकते हैं ha-params
। N/2 + 1
नोड्स के एक कोरम, ( ) की सलाह दी जाती है। आपके डेटा की अधिक प्रतियां होने से उच्च डिस्क, i / o और शुद्ध उपयोग होता है जिसके परिणामस्वरूप अपमानजनक प्रदर्शन हो सकता है।
यदि आप क्लस्टर के सभी नोड्स को डेटा मिरर करना चाहते हैं, तो आप निम्न JSON डॉक्यूमेंट का उपयोग कर सकते हैं।
'{ "ha-mode": "all", "ha-sync-mode": "automatic"}'
यदि आप केवल विशिष्ट नोड्स के लिए डेटा को मिरर करना चाहते हैं, (उदाहरण के लिए: node-1
और node-2
), तो आप निम्नलिखित का उपयोग कर सकते हैं।
'{ "ha-mode": "nodes", "ha-params" :["rabbit@node-1", "rabbit@node-2"], "ha-sync-mode": "automatic"}'
आप अलग-अलग कतारों को अलग-अलग नीतियों को असाइन करने के लिए नियमित अभिव्यक्ति को बदल सकते हैं। कहें कि हमारे पास निम्नलिखित तीन नोड हैं:
फिर हम दो नीतियां बना सकते हैं, जिसके परिणामस्वरूप कतार में एक नाम होगा जो "क्लाइंट" के साथ शुरू होता है rabbit@client-ha
नोड के लिए और सभी कतारें जिनका नाम है जो "उत्पाद" के साथ शुरू होता है rabbit@product-ha
नोड को प्रतिबिंबित किया जाएगा ।
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "queues" ha-client "client.*" '{ "ha-mode": "nodes", "ha-params": ["rabbit@master", "rabbit@client-ha"], "ha-sync-mode": "automatic"}
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "queues" ha-product "product.*" '{ "ha-mode": "nodes", "ha-params": ["rabbit@master", "rabbit@product-ha"], "ha-sync-mode": "automatic"}
यहां एक छोटी टिप्पणी: विशेष कतारें कभी भी रैबिटएमक्यू में प्रतिबिंबित या टिकाऊ नहीं होती हैं, भले ही यह नीति ऐसी कतारों से मेल खाती हो। एक ग्राहक के डिस्कनेक्ट होने के बाद विशेष कतारें स्वचालित रूप से नष्ट हो जाती हैं और जैसे, इसे किसी अन्य सर्वर पर दोहराने के लिए कोई फायदा नहीं होगा। यदि सर्वर विफल हो जाता, तो क्लाइंट इससे डिस्कनेक्ट हो जाता और कतार अपने आप नष्ट हो जाती। प्रतिबिंबित उदाहरणों को भी नष्ट कर दिया जाएगा।
क्लस्टर किए गए सेटअप का परीक्षण करने के लिए हम प्रबंधन कंसोल के माध्यम से कमांड लाइन इंटरफ़ेस का उपयोग करके एक नई कतार बना सकते हैं।
sudo rabbitmqadmin declare queue --vhost "/" name=my-ha-queue durable=true
यह /
नाम के साथ डिफ़ॉल्ट vhost पर एक टिकाऊ कतार बनाएगा my-ha-queue
।
निम्न कमांड चलाएँ और आउटपुट में सत्यापित करें कि कतार में हमारी 'हा' नीति सौंपी गई है और इसमें मास्टर और मिरर नोड पर पिड है।
sudo rabbitmqctl list_queues name policy state pid slave_pids
अब हम मास्टर नोड से कतार में एक संदेश प्रकाशित कर सकते हैं और मास्टर नोड पर RabbitMQ को रोक सकते हैं।
sudo rabbitmqadmin -u user_name -p password publish routing_key=my-ha-queue payload="hello world"
sudo systemctl rabbitmqctl shutdown
अब इसे मिरर नोड से कनेक्ट करके वापस लाएं।
sudo rabbitmqadmin -H MIRROR_NODE_IP_OR_DNS -u user_name -p password get queue=my-ha-queue
अंत में, हम अपने मास्टर नोड को पुनः आरंभ कर सकते हैं।
sudo systemctl start rabbitmq-server.service
जैसा कि पहले उल्लेख किया गया है, RabbitMQ स्वचालित रूप से एक डिफ़ॉल्ट अतिथि पासवर्ड के साथ एक अतिथि उपयोगकर्ता बनाता है। सार्वजनिक रूप से उजागर प्रणाली पर इस डिफ़ॉल्ट उपयोगकर्ता को छोड़ने के लिए यह बुरा अभ्यास होगा।
sudo rabbitmqctl delete_user guest
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ
RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा
एक अलग प्रणाली का उपयोग? आवश्यकताएँ एक Vultr CentOS 7 सर्वर उदाहरण। एक sudo यूजर। चरण 1: सिस्टम को पहले अपडेट करें, अपने सिस्टम सर्वर को वें में अपडेट करें
एक अलग प्रणाली का उपयोग? नेटडाटा रियल-टाइम सिस्टम मेट्रिक्स मॉनिटरिंग के क्षेत्र में एक उभरता हुआ सितारा है। एक ही तरह के अन्य उपकरणों की तुलना में, नेटडाटा:
एक अलग प्रणाली का उपयोग? इस ट्यूटोरियल में, बीमार समझा जा रहा है कि CentOS 7 पर एक स्टारबाउंड सर्वर को कैसे सेटअप किया जाए। आवश्यक शर्तें आपको इस गेम को खुद पर बनाना होगा।
वेब एप्लिकेशन लिखने के लिए Django एक लोकप्रिय पायथन फ्रेमवर्क है। Django के साथ, आप तेजी से अनुप्रयोगों का निर्माण कर सकते हैं, पहिया को फिर से बनाए बिना। अगर आप चाहते हैं
एक अन्य Vultr ट्यूटोरियल में आपका स्वागत है। यहां, आप सीखेंगे कि एसएएमपी सर्वर कैसे स्थापित करें और चलाएं। यह गाइड CentOS 6 के लिए लिखा गया था
Revive Adserver एक स्वतंत्र और खुला स्रोत विज्ञापन सेवारत प्रणाली है जिसका उपयोग वेबसाइटों पर, ऐप्स में और / या वीडियो खिलाड़ियों में विज्ञापनों को प्रबंधित करने के लिए किया जा सकता है। इस लेख में,
पार्स सर्वर पार्स बैकेंड सेवा के लिए खुला स्रोत विकल्प है जिसे बंद किया जा रहा है। यदि आप इस सेवा के प्रशंसक हैं, तो आप अभी भी वें का आनंद ले सकते हैं
एक अलग प्रणाली का उपयोग? एल्ग एक खुला स्रोत सोशल नेटवर्किंग इंजन है जो परिसर के सामाजिक नेटवर्क जैसे सामाजिक वातावरण के निर्माण की अनुमति देता है
एक अलग प्रणाली का उपयोग? डायस्पोरा एक गोपनीयता-जागरूक, ओपन सोर्स सोशल नेटवर्क है। इस ट्यूटोरियल में, आप सीखेंगे कि डायस्पोरा पो को कैसे सेट और कॉन्फ़िगर करें
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
परिचय लिनक्स सिस्टम पर काम करने का मतलब है कि कोई कमांड लाइन का उपयोग अधिक बार नहीं कर रहा है। स्वागत के रूप में बार-बार लंबी निर्देशिका के नाम टाइप करना
ओपनकार्ट एक लोकप्रिय ओपन सोर्स शॉपिंग कार्ट सॉल्यूशन है जिसे उत्कृष्ट कार्यक्षमता, उपयोग में आसानी और उपस्थिति प्रदान करने के लिए डिज़ाइन किया गया है। OpenCart के साथ, आप सीए
एक अलग प्रणाली का उपयोग? परिचय Sails.js Node.js के लिए MVC फ्रेमवर्क है, जो रूबी ऑन रेल्स के समान है। यह आधुनिक अनुप्रयोगों को विकसित करने के लिए बनाता है
एक अलग प्रणाली का उपयोग? NGINX को HTTP / HTTPS सर्वर, रिवर्स प्रॉक्सी सर्वर, मेल प्रॉक्सी सर्वर, लोड बैलेंसर, TLS टर्मिनेटर, या कैचिन के रूप में उपयोग किया जा सकता है
एक अलग प्रणाली का उपयोग? dotCMS जावा में लिखा एक ओपन सोर्स एंटरप्राइज ग्रेड कंटेंट मैनेजमेंट सिस्टम है। इसमें लगभग हर सुविधा आवश्यक टी होती है
LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है
एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं
एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है
टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं
परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ