उबंटू में 16.04 पर पर्यवेक्षक को स्थापित और कॉन्फ़िगर करना

पर्यवेक्षक एक ग्राहक / सर्वर प्रणाली है जिसका उपयोग कई UNIX प्रक्रियाओं को नियंत्रित करने के लिए किया जाता है, विशेष रूप से किसी परियोजना या ग्राहक से संबंधित प्रक्रियाओं को। उदाहरण के लिए, आप पर्यवेक्षक का उपयोग कर सकते हैं और अपने वेब एप्लिकेशन की कार्यकर्ता कतारों की एक मनमानी संख्या की निगरानी कर सकते हैं।

इस प्रणाली के घटक हैं:

  • पर्यवेक्षक: सिस्टम का सर्वर टुकड़ा।
  • पर्यवेक्षक: कमांड-लाइन इंटरफ़ेस सर्वर के साथ बातचीत करने के लिए उपयोग किया जाता है।
  • वेब सर्वर: सुपरवाइजर की तुलना में एक साधारण वेब सर्वर और बुनियादी कार्यक्षमता वाला वेब यूजर इंटरफेस ।
  • XML-RPC इंटरफ़ेस: वेब क्लाइंट द्वारा उपयोग किया जाने वाला एक ही HTTP सर्वर, XML-RPC इंटरफ़ेस कार्य करता है जिसका उपयोग पर्यवेक्षक कार्यक्रमों को नियंत्रित करने के लिए किया जा सकता है।

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

स्थापना और बुनियादी विन्यास

हम पर्यवेक्षक के माध्यम से स्थापित करेंगे easy_install, अजगर के विस्फोटों की एक विशेषता।

सबसे पहले, अपने स्थानीय संकुल सूची को अद्यतन करें और फिर अजगर स्थापित करें setuptools

sudo apt-get update && sudo apt-get install python-setuptools

अब हम पर्यवेक्षक स्थापित कर सकते हैं।

sudo easy_install supervisor

एक बार इंस्टॉलेशन पूरा हो जाने पर, हमें अपनी कॉन्फ़िगरेशन फ़ाइल जनरेट करनी होगी। supervisorअंदर एक फ़ोल्डर बनाएँ /etc

sudo mkdir /etc/supervisor

और फिर निम्नलिखित को निष्पादित करें।

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

यदि आप rootउपयोगकर्ता के साथ लॉग इन नहीं हैं , तो आपको एक Permission deniedत्रुटि मिल सकती है (यहां तक ​​कि sudo)। यह पुनर्निर्देशन के कारण है। इसे दूर करने के लिए, रूट के रूप में लॉगिन करें।

sudo su

तब आप फिर से कमांड चला सकते हैं।

echo_supervisord_conf > /etc/supervisor/supervisord.conf

अब आप rootउपयोगकर्ता को exitकमांड के साथ छोड़ सकते हैं । echo_supervisord_confआदेश हमारे पर्यवेक्षक स्थापना द्वारा प्रदान किया गया।

मूल विन्यास

/etc/supervisor/supervisord.confफ़ाइल खोलें और उसकी सामग्री की जाँच करें। आप ध्यान देंगे कि यह कॉन्फ़िगरेशन फ़ाइल INIसिंटैक्स का अनुसरण करती है, और इसे अनुभागों द्वारा विभाजित किया जाता है (ब्रैकेट्स द्वारा प्रतिनिधित्व [section-name])।

पर्यवेक्षक द्वारा प्रबंधित किए जाने वाले कार्यक्रमों को जोड़ने के लिए हमें केवल उचित [program]अनुभाग बनाने की आवश्यकता है । हालांकि, मुख्य कॉन्फ़िगरेशन फ़ाइल के साथ हर बार गड़बड़ी से बचने के लिए हमें एक कार्यक्रम को जोड़ने (या बदलने) की आवश्यकता होती है, हम [include]अनुभाग का उपयोग करेंगे । इस अनुभाग को ढूंढें, इसे अनइंस्टॉल करें और फिर इसे निम्नलिखित की तरह देखने के लिए संपादित करें।

[include]
files=conf.d/*.conf

अब हम प्रत्येक प्रोग्राम को जोड़ना चाहते हैं, हम डायरेक्टरी के .iniअंदर एक फाइल बनाएंगे /etc/supervisor/conf.d/। यह फ़ोल्डर बनाने देता है।

sudo mkdir /etc/supervisor/conf.d

सुपरवाइजर सर्वर शुरू करना

जैसा कि पहले उल्लेख किया गया है, पर्यवेक्षक एक सर्वर और क्लाइंट से बना है जो इससे जुड़ता है। कार्यक्रमों को प्रबंधित और नियंत्रित करने में सक्षम होने के लिए, हमें सर्वर शुरू करने की आवश्यकता है। ऐसा करने के लिए, हम पर्यवेक्षक सर्वर को पंजीकृत करेंगे systemd, ताकि सर्वर सिस्टम स्टार्टअप पर शुरू किया जा सके।

ऐसा करने के लिए, निर्देशिका supervisord.serviceमें नामक एक फ़ाइल बनाएं /etc/systemd/system

sudo touch /etc/systemd/system/supervisord.service

फ़ाइल में निम्न सामग्री जोड़ें।

[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target

[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
Alias=supervisord.service

पर्यवेक्षक सेवा को सक्रिय करें।

sudo systemctl start supervisord.service

जब तक सेवा फ़ाइल /etc/systemd/systemनिर्देशिका में स्थित है , तब तक यह स्वचालित रूप से सिस्टम स्टार्टअप पर शुरू हो जाएगा।

आप सेवा की स्थिति देख सकते हैं।

systemctl status supervisord.service

इसके अलावा, आप लॉग को देख सकते हैं।

sudo journalctl -u supervisord.service

कार्यक्रम जोड़ना

पर्यवेक्षक द्वारा नियंत्रित कार्यक्रम [program]विन्यास में विभिन्न वर्गों द्वारा दिए गए हैं । प्रत्येक कार्यक्रम के लिए जिसे हम प्रबंधित करना चाहते हैं, हम एक स्टैंडअलोन कॉन्फ़िगरेशन फ़ाइल बनाएंगे जो कमांड निष्पादन योग्य पथ, किसी भी पर्यावरणीय चर, शटडाउन के मामले में प्रदर्शन करने के लिए सूचित करेगी।

सबसे पहले, एक सरल स्क्रिप्ट बनाते हैं जो टाइमस्टैम्प को लॉग करता है। नामक एक फ़ाइल बनाएँ hello_supervisor.sh(आप कहीं भी चाहें, हम इस स्क्रिप्ट के पूर्ण पथ को संदर्भित करेंगे)।

touch hello_supervisor.sh

अब, इसमें निम्नलिखित सामग्री डालें

#!/bin/bash
while true
do 
    # Echo current timestamp to stdout
    echo Hello Supervisor: `date`
    # Echo 'error!' to stderr
    echo An error ocurred at `date`! >&2
    sleep 1
done

अब इसे अमल में लाएं

chmod +x hello_supervisor.sh

व्यावहारिक रूप से यह लिपि बहुत अधिक बेकार है। हालाँकि, हम इसका उपयोग पर्यवेक्षक की शक्ति का प्रदर्शन करने के लिए कर सकते हैं। निम्नलिखित को चलाकर संबंधित कॉन्फ़िगरेशन फ़ाइल बनाएं।

sudo touch /etc/supervisor/conf.d/hello_supervisor.conf

अब इस फाइल में निम्नलिखित सामग्री डालें।

[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log

नोट: अपने उपयोगकर्ता नाम के साथ प्रतिस्थापित USERकरना सुनिश्चित करें ।

हम इस विन्यास कदम की समीक्षा करेंगे।

[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh

सबसे पहले, कॉन्फ़िगरेशन hello_supervisor नाम के प्रोग्राम को परिभाषित करके शुरू होता है । यह निष्पादन योग्य के पूर्ण पथ को चलाने के लिए भी सूचित करता है।

autostart=true

यह पंक्ति बताती है कि पर्यवेक्षक शुरू होने पर यह कार्यक्रम स्वचालित होना चाहिए।

autorestart=true

यदि प्रोग्राम किसी भी कारण से चलता है, तो यह लाइन पर्यवेक्षक को प्रक्रिया को स्वचालित रूप से पुनरारंभ करने के लिए सूचित करती है।

stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log

ये लाइनें क्रमशः के लिए लॉगफ़ाइल स्थान को परिभाषित करती हैं stderrऔर stdout

कार्यक्रमों का प्रबंधन

अब जब हमने पर्यवेक्षक को स्थापित और कॉन्फ़िगर किया है, तो हम अपनी प्रक्रियाओं का प्रबंधन करने में सक्षम हैं।

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

sudo supervisorctl reread
sudo supervisorctl update

अब supervisorctlक्लाइंट को निष्पादित करें ।

sudo supervisorctl

आप पंजीकृत सफलताओं की एक सूची के साथ स्वागत किया जाएगा। आप hello_supervisorएक RUNNINGस्थिति के साथ एक सफल कॉल देखेंगे ।

hello_supervisor                 RUNNING   pid 6853, uptime 0:22:30
supervisor>

helpAvaialable कमांड की सूची के लिए टाइप करें।

supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail   
avail  fg        pid   remove  shutdown  status  update 
clear  maintail  quit  reread  signal    stop    version

संक्षेप में, हम प्रोग्राम नाम को संबंधित कमांड के तर्क के रूप में पास करके start, stopऔर कर सकते हैं restart

supervisor> stop hello_supervisor 
hello_supervisor: stopped
supervisor> start hello_supervisor 
hello_supervisor: started
supervisor> restart hello_supervisor 
hello_supervisor: stopped
hello_supervisor: started
supervisor> 

हम tailकमांड के साथ प्रोग्राम आउटपुट पर भी नज़र डाल सकते हैं ।

supervisor> tail hello_supervisor 
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017

के लिए stderrउत्पादन, आप उपयोग कर सकते हैं tailऔर साथ ही।

supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!

statusकमांड को आमंत्रित करके , आप सभी पंजीकृत कार्यक्रमों की स्थिति देख सकते हैं।

एक बार जब आप समाप्त कर लेते हैं, तो आप छोड़ सकते हैं।

supervisor> quit

वेबसर्वर क्लाइंट

पर्यवेक्षक वेबसर्वर तक पहुंच की अनुमति देने के लिए, पर्यवेक्षक कॉन्फ़िगरेशन फ़ाइल खोलें और [inet_http_server]अनुभाग का पता लगाएं ।

nano /etc/supervisor/supervisord.conf

अब इस अनुभाग के विन्यास को निम्नलिखित के साथ अद्यतन करें।

[inet_http_server]
port=*:9001
username=your_username
password=your_password

बदलें your_usernameऔर your_passwordअपने वांछित क्रेडेंशियल्स के साथ, अपने संशोधनों और पुनरारंभ पर्यवेक्षक सेवा को बचाएं।

sudo systemctl restart supervisord.service

अपने फ़ायरवॉल पर TCPपोर्ट तक पहुँच की अनुमति देना 9001और फिर http://{server-ip}:9001अपने ब्राउज़र से एक्सेस करना याद रखें । पूछे जाने पर, अपना usernameऔर प्रदान करें password। अब आप वेब से अपनी सफलताओं को नियंत्रित कर सकते हैं।

निष्कर्ष

हमने सुपरवाइजर के सबसे अद्यतित संस्करण को स्थापित किया है, सिस्टेम के साथ सिस्टम ऑटो-स्टार्ट के लिए इसे कॉन्फ़िगर करने का तरीका सीखा और इसके मूल उपयोग की भी समीक्षा की supervisorctl। अधिक उन्नत कॉन्फ़िगरेशन और उपयोग के मामलों के लिए आप आधिकारिक पर्यवेक्षक प्रलेखन का उल्लेख कर सकते हैं ।



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 फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ