उबटन 17.04 पर पिलर्स के साथ साल्टस्टैक का उपयोग करना

जबकि SaltStack कई सर्वरों पर एक साथ संचालन के लिए एक महान उपकरण है, यह एक अद्वितीय फ़ाइल में संग्रहीत प्रति-होस्ट परिभाषित कॉन्फ़िगरेशन प्रीसेट का भी समर्थन करता है जिसे आगे "स्तंभ" कहा जाता है। इस गाइड में, हम Nginx को स्थापित करने और स्तंभों का उपयोग करके आभासी मेजबानों की तैनाती को स्वचालित करने के लिए एक छोटा सा सॉल्टस्टैक सूत्र लिखेंगे।

आवश्यकताएँ

  • उबटन 17.04 (मास्टर) चल रहा वल्चर उदाहरण
  • उबंटू 17.04 (minions) चल रहे दो वल्चर उदाहरण

गुरु को स्थापित करना

यदि आप अभी शुरुआत कर रहे हैं और अभी तक अपने SaltStack मास्टर को सेट नहीं किया है, तो इस लेख को देखें जो बताता है कि कैसे SaltStack के साथ शुरुआत करें।

सूत्र

हम अपने सूत्र के लिए फ़ोल्डर बनाने के साथ शुरू करते हैं, जो आगे हमारे टकसालों पर SaltStack के संचालन के लिए आवश्यक फ़ाइलों को रखता है।

mkdir -p /srv/salt/nginx

फोल्डर बनाने के बाद, हम उस init.slsफाइल को लिखना जारी रख सकते हैं जो हर फॉर्मूले का एक अनिवार्य हिस्सा है:

nginx:
  pkg:
    - installed

/etc/nginx/sites-enabled/virtualhosts.conf:
    file.managed:
        - source: salt://nginx/files/virtualhosts.jinja
        - template: jinja
        - user: root
        - group: root
        - mode: 655

  cmd:
    - run
    - names:
        - service nginx restart

जैसा कि आपने शायद देखा है, साल्टस्टैक डायनामिक कॉन्फ़िगरेशन फ़ाइलों को बनाने के लिए जिंजा टेम्पलेटिंग इंजन का उपयोग करता है। यह हमारे कॉन्फ़िगरेशन टेम्प्लेट फ़ाइलों के भीतर संभावनाओं की एक विस्तृत श्रृंखला प्रदान करता है, जैसे कि देशी पायथन कोड को एक्सेस करना या चर और इसी तरह की सेटिंग। अगले चरण में हमारी virtualhosts.confफ़ाइल के लिए टेम्पलेट बनाना शामिल है , जबकि हमें पहले फ़ोल्डर बनाने की आवश्यकता है:

mkdir -p /srv/salt/nginx/files

एक बार फ़ोल्डर बन जाने के बाद, हम virtualhosts.jinjaफाइल को लिखना जारी रख सकते हैं :

{% for vhost in pillar['vhosts'] %}
server {
    listen {{ vhost['listenPort'] }};
    server_name {{ vhost['serverName'] }};
    root {{ vhost['documentRoot'] }};
    index {%- for index in vhost['indexFiles'] -%}{{ index }}{%- endfor -%};
    location / {
        try_files $uri $uri/ =404;
    }
}
{% endfor %}

स्तंभ

सूत्र बनाने के बाद, हम आगे जा सकते हैं और अपना पिलर बेस सेटअप कर सकते हैं:

mkdir -p /srv/pillar/

एक विशेष स्तंभ फ़ाइल से मेल खाने वाले मेजबानों के लिए कोई भी संदर्भ top.slsउस निर्देशिका में फ़ाइल में लिखा जाता है जिसे हमने अभी बनाया है। हमारे उदाहरण में, हम मानते हैं कि दो नाम होस्टनाम के साथ मौजूद हैं nginxwww1और nginxwww2जबकि हम उन्हें दोनों अद्वितीय स्तंभ फ़ाइलों को असाइन करेंगे:

base:
  'id:nginxwww1':
    - match: grain
    - nginxwww1
  'id:nginxwww2':
    - match: grain
    - nginxwww2

इसके बाद, हम के लिए एक स्तंभ फ़ाइल बनाने के साथ जारी रहेगा nginxwww1, जबकि हम डोमेन के लिए पोर्ट 81 पर एक vhost सुन पैदा करेगा example.com, दस्तावेज़ जड़ से किया जा रहा /var/www/example_com/और सूचकांक फ़ाइलें किया जा रहा है index.shtml:

vhosts:
    -
      listenPort: '81'
      serverName: 'example.com'
      documentRoot: '/var/www/example_com'
      indexFiles:
        - index.shtml

हम के लिए एक स्तंभ फ़ाइल बनाने के साथ जारी रहेगा nginxwww2, जबकि हम डोमेन के लिए पोर्ट 82 पर एक vhost सुन पैदा करेगा example2.com, दस्तावेज़ जड़ जा रहा है /var/www/example2_com/और सूचकांक फ़ाइलें जा रहा है index.jsऔर index.css:

vhosts:
    -
      listenPort: '82'
      serverName: 'example2.com'
      documentRoot: '/var/www/example2_com'
      indexFiles:
        - index.js
        - index.css

नोट: पिलर फ़ाइलों के भीतर संग्रहीत हैं/srv/pillar/

परिनियोजित

अब हम अपने minions पर उन्हें अपडेट करके खंभों के साथ अपना पहला प्रयास पूरा कर सकते हैं:

salt '*' saltutil.refresh_pillar

बाद में, हम SaltStack सूत्र चला सकते हैं:

salt '*' state.sls nginx

पुष्टि

एक बार जब SaltStack सूत्र चलाया गया और किसी भी त्रुटि के बिना पूरा कर लिया है, हम को देखने के लिए सक्षम होना चाहिए nginxपोर्ट पर ध्यान 81पर nginxwww1और बंदरगाह पर 82पर nginxwww2पुष्टि के रूप में।

निष्कर्ष

इसके बजाय हल्के लेकिन पहले से ही शक्तिशाली सॉल्टस्टैक सूत्र को HTTPS के लिए समर्थन जोड़ने के लिए आगे बढ़ाया जा सकता है, संभवतः लेट्स एनक्रिप्ट के एकीकरण के साथ, CGI या PHP बैकएंड के लिए समर्थन और सब कुछ जो आप मैन्युअल रूप से भी कर सकते हैं। इस गाइड को आपको कॉन्फ़िगरेशन फ़ाइलों की तैनाती के लिए उपयोग किए जाने वाले साल्टस्टैक फॉर्मूलों और स्तंभों का एक मूल विचार देना चाहिए था। खुश स्वचालित!



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

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

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

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