ابتدائی ٹیوٹوریل - جوابی پلے بکس ، متغیرات ، اور انوینٹری۔

Beginner S Tutorial Ansible Playbooks



جوابی پلے بکس وہ فائلیں ہیں جن میں ایسے کام ہوتے ہیں جو میزبانوں کو جوابی کے ساتھ ترتیب دینے کے لیے چلائے جاتے ہیں۔ جوابی پلے بکس YAML فارمیٹ میں لکھی گئی ہیں۔ YAML JSON کی طرح ایک بہت ہی سادہ فائل فارمیٹ ہے۔ میں آپ کو دکھاتا ہوں کہ اس مضمون کے بعد والے حصے میں جوابی YAML پلے بکس کس طرح نظر آتی ہیں۔

انسیبل انوینٹری فائلیں ان میزبانوں کی فہرست کو برقرار رکھتی ہیں جنہیں آپ اینسیبل کے ساتھ تشکیل یا انتظام کرنا چاہتے ہیں۔ آپ ان میزبانوں کو گروہ بنا سکتے ہیں اور گروپس کے ذریعے ان کا انتظام بھی کر سکتے ہیں۔ آپ ہر میزبان یا میزبانوں کے گروپ کے لیے مختلف متغیرات بھی پاس کر سکتے ہیں۔







اس آرٹیکل میں ، میں آپ کو دکھائے گا کہ جوابی پلے بکس ، متغیرات ، انوینٹری فائلوں ، اور کچھ عام جوابی ماڈیولز کے ساتھ عملی مثالوں کے ساتھ کیسے کام کیا جائے۔ تو ، ہمیں شروع کرنے دو!



ضروریات۔

اگر آپ اس مضمون میں مثالیں آزمانا چاہتے ہیں ،



1) آپ کے کمپیوٹر پر جوابی انسٹال ہونا ضروری ہے۔
2) آپ کے پاس کم از کم ایک Ubuntu/Debian میزبان اور CentOS/RHEL 8 میزبان ہونا چاہیے جو کہ جوابی آٹومیشن کے لیے تشکیل شدہ ہو۔





لینکس ہنٹ پر بہت سے مضامین ہیں جو انسیبل انسٹال کرنے اور اینسیبل آٹومیشن کے لیے میزبانوں کی تشکیل کے لیے وقف ہیں۔ مزید معلومات کے لیے اگر ضرورت ہو تو آپ ان مضامین کو چیک کر سکتے ہیں۔

پروجیکٹ ڈائرکٹری بنانا

سب سے پہلے ، ایک پروجیکٹ ڈائرکٹری بنائیں۔ ~/پروجیکٹ/ مندرجہ ذیل کمانڈ کے ساتھ:

$mkdir -پی وی۔/پروجیکٹ/پلے بکس

پر جائیں۔ ~/پروجیکٹ/ مندرجہ ذیل ڈائریکٹری:

$سی ڈی۔/پروجیکٹ

بنیادی انوینٹری فائل:

ایک قابل جواب انوینٹری فائل بنائیں۔ میزبان پروجیکٹ ڈائرکٹری میں درج ذیل کمانڈ کے ساتھ:

$نینومیزبان

آپ ان میزبانوں کے آئی پی ایڈریس ٹائپ کر سکتے ہیں جنہیں آپ اینسیبل کا استعمال کرتے ہوئے تشکیل/خودکار کرنا چاہتے ہیں۔ میزبان انوینٹری فائل.

192.168.20.167۔
192.168.20.168۔
192.168.20.169۔
192.168.20.170۔

ایک بار جب آپ یہ مرحلہ مکمل کرلیں ، فائل کو دباکر محفوظ کریں۔ + ایکس اس کے بعد اور اور .

اگر آپ انوینٹری فائل میں IP پتوں کے بجائے DNS نام استعمال کرنا چاہتے ہیں تو آپ یہ بھی کر سکتے ہیں۔

اگر آپ کے پاس کام کرنے والا DNS سرور نہیں ہے تو آپ استعمال کر سکتے ہیں /etc/hosts۔ مقامی DNS ریزولوشن کے لیے اپنے کمپیوٹر پر فائل کریں۔

مقامی DNS ریزولوشن کے لیے ، کھولیں۔ /etc/hosts۔ ٹیکسٹ ایڈیٹر کے ساتھ فائل ( نینو ، میرے معاملے میں) مندرجہ ذیل:

$سودو نینو /وغیرہ/میزبان

آئی پی ایڈریس اور اپنے مطلوبہ DNS نام درج کریں:

192.168.20.167 vm1.nodekite.com۔
192.168.20.168 vm2.nodekite.com۔
192.168.20.169 vm3.nodekite.com۔
192.168.20.170 vm4.nodekite.com۔

ایک بار جب آپ اس مرحلے سے فارغ ہو جائیں ، دبائیں۔ + ایکس اس کے بعد اور اور .

جوابدہ انوینٹری فائل کھولیں۔ میزبان حسب ذیل:

$نینومیزبان

اب آپ ان میزبانوں کے DNS نام ٹائپ کر سکتے ہیں جنہیں آپ جوابی کا استعمال کرتے ہوئے ترتیب دینا/خودکار کرنا چاہتے ہیں۔ میزبان انوینٹری فائل.

vm1.nodekite.com۔
vm2.nodekite.com۔
vm3.nodekite.com۔
vm4.nodekite.com

ایک بار جب آپ فارغ ہوجائیں تو ، میزبانوں کی انوینٹری فائل کو دباکر محفوظ کریں۔ + ایکس اس کے بعد اور اور .

تمام میزبانوں سے رابطہ کی جانچ

اب ، آپ انوینٹری فائل میں تمام میزبانوں کو پنگ کرنے کی کوشش کر سکتے ہیں:

$جوابدہ-میںسب کی میزبانی کرتا ہےجوابدہ پنگ

جیسا کہ آپ دیکھ سکتے ہیں ، انوینٹری فائل کے تمام میزبان قابل رسائی ہیں۔ لہذا ، ہم اس مضمون کے اگلے حصے پر جانے کے لیے تیار ہیں۔

آپ کی پہلی جوابی پلے بک۔

آئیے ایک سادہ جوابی پلے بک بنائیں۔ ping_all_hosts.yaml میں پلے بکس/ ڈائریکٹری یہ عمل تمام میزبانوں کو پنگ دے گا۔ میزبان انوینٹری فائل ، پہلے کی طرح۔

$نینوپلے بکس/ping_all_hosts.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ ping_all_hosts.yaml قابل جواب پلے بک فائل:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: تمام میزبانوں کو پنگ کریں۔
پنگ:

یہاں ،

میزبان: سب - انوینٹری فائل سے تمام میزبانوں کا انتخاب کرتا ہے۔ میزبان .
صارف: جوابدہ - ایس ایس ایچ کو انوینٹری فائل میں میزبانوں کے طور پر جواب دیتا ہے۔ جوابدہ صارف
کام - وہ تمام کام جو جواب دینے والے میزبانوں میں انجام دیں گے یہاں درج ہیں۔ ہر کام میں عموما a ہوتا ہے۔ نام اور ایک یا زیادہ ماڈیول مخصوص اختیارات۔

پلے بک۔ ping_all_hosts.yaml صرف ایک کام ہے ، انوینٹری فائل میں تمام میزبانوں کو پنگ کرنا۔ میزبان . کام کا نام ہے۔ تمام میزبانوں کو پنگ کریں۔ اور یہ استعمال کرتا ہے پنگ ماڈیول

کی پنگ ماڈیول کو کسی دوسرے آپشن کی ضرورت نہیں ہے۔ تو ، میں نے اسے خالی چھوڑ دیا ہے (بڑی آنت کے بعد کچھ نہیں ہے ، : )

ایک بار جب آپ یہ مرحلہ مکمل کرلیں ، فائل کو دباکر محفوظ کریں۔ + ایکس اس کے بعد اور اور .

آپ چلا سکتے ہیں۔ ping_all_hosts.yaml جوابی پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک-میںپلے بکس کی میزبانی کرتا ہے۔/ping_all_hosts.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، پنگ ٹاسک انوینٹری فائل کے تمام میزبانوں میں کامیاب ہے۔

سادہ جواب دہ کنفیگریشن فائل۔

پہلے کی مثال میں ، آپ کو استعمال کرنا پڑا -میں کونسی انوینٹری فائل استعمال کرنا ہے یہ بتانے کا آپشن۔ میرے معاملے میں ، یہ ہے۔ میزبان انوینٹری فائل.

$جوابدہ پلے بک-میںپلے بکس کی میزبانی کرتا ہے۔/ping_all_hosts.yaml

اگر آپ انوینٹری فائل کے ساتھ پاس نہیں کرنا چاہتے ہیں۔ -میں ہر بار جب آپ جواب دینے والی پلے بک چلاتے ہیں تو آپ کو اپنے پروجیکٹ کے لیے ڈیفالٹ انوینٹری فائل سیٹ کرنا ہوتا ہے۔

ایسا کرنے کے لیے ، ایک نئی جواب دینے والی کنفیگریشن فائل بنائیں۔ ansible.cfg آپ کے پروجیکٹ کی جڑ میں مندرجہ ذیل:

$نینوansible.cfg

میں درج ذیل لائنیں ٹائپ کریں۔ ansible.cfg فائل:

[پہلے سے طے شدہ]
انوینٹری =./میزبان

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

آپ اسی جوابی پلے بک کو مندرجہ ذیل طریقے سے چلا سکتے ہیں۔

$جوابدہ پلے بک پلے بکس۔/ping_all_hosts.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، پلے بک استعمال کر رہی ہے۔ میزبان ڈیفالٹ کی طرف سے انوینٹری فائل. آپ اب بھی استعمال کر سکتے ہیں -میں اگر آپ چاہیں تو ایک مختلف انوینٹری فائل کی وضاحت کرنے کا آپشن۔ جوابی بہت لچکدار ہے۔

انوینٹری فائل میں میزبانوں کو گروپ کرنا۔

اب تک ، میں نے آپ کو دکھایا ہے کہ انوینٹری فائل میں تمام میزبانوں میں کاموں کا ایک سیٹ (پلے بک) کیسے چلانا ہے۔ لیکن اگر آپ کچھ میزبانوں میں کاموں کا ایک سیٹ اور دوسرے میزبانوں میں کاموں کا ایک سیٹ چلانا چاہتے ہیں تو کیا ہوگا؟ آپ میزبانوں کو انوینٹری فائل میں گروپ کر سکتے ہیں اور میزبان گروپوں پر مختلف کام چلا سکتے ہیں۔

اس سیکشن میں ، میں آپ کو دکھاتا ہوں کہ انوینٹری فائل میں میزبانوں کو کیسے گروپ کیا جائے اور میزبان گروپوں کے ساتھ کیسے کام کیا جائے۔

پہلے ، انوینٹری فائل کھولیں۔ میزبان حسب ذیل:

$نینومیزبان

میں درج ذیل لائنیں ٹائپ کریں۔ میزبان انوینٹری فائل:

[ڈیبین 10۔]
vm1.nodekite.com۔
vm2.nodekite.com۔
[سینٹوس 8۔]
vm3.nodekite.com۔
vm4.nodekite.com

یہاں ، میں نے دو میزبان گروپ بنائے ہیں: ڈیبین 10۔ اور سینٹوس 8۔ .

میں ڈیبین 10۔ گروپ ، میرے دو میزبان ہیں: vm1.nodekite.com۔ اور vm2.nodekite.com۔

میں سینٹوس 8۔ گروپ ، میرے دو میزبان ہیں: vm3.nodekite.com۔ اور vm4.nodekite.com

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

اب ہم ایک نئی پلے بک بنائیں گے۔ ping_debian10_hosts.yaml ، جو پہلے کی طرح میزبانوں کو پنگ دے گا ، لیکن صرف میزبانوں کو ڈیبین 10۔ میزبان گروپ

ایک پلے بک بنائیں۔ ping_debian10_hosts.yaml میں پلے بکس/ مندرجہ ذیل ڈائریکٹری:

$نینوپلے بکس/ping_debian10_hosts.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ ping_debian10_hosts.yaml جوابی پلے بک:

- میزبان: ڈیبین 10۔
صارف: جوابدہ
کام:
- نام: پنگ آل ڈیبیئن۔10۔میزبان
پنگ:

کے بجائے۔ میزبان: سب ، میں نے شامل کیا ہے میزبان: ڈیبین 10۔ یہاں ڈیبین 10۔ میزبان گروپ ہے یہ پلے بک صرف میزبانوں پر چلے گی۔ ڈیبین 10۔ میزبان گروپ

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

پلے بک کو مندرجہ ذیل طریقے سے چلائیں:

$جوابدہ پلے بک پلے بکس۔/ping_debian10_hosts.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، صرف میں میزبان ڈیبین 10۔ میزبان گروپ پنگ ہیں۔

اسی طریقہ کو استعمال کرتے ہوئے ، ایک اور پلے بک بنائیں۔ ping_centos8_hosts.yaml حسب ذیل:

$نینوپلے بکس/ping_centos8_hosts.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ ping_centos8_hosts.yaml جوابی پلے بک:

- میزبان: سینٹوس 8۔
صارف: جوابدہ
کام:
- نام: تمام CentOS پنگ کریں۔میزبان
پنگ:

اسی طرح ، میں نے شامل کیا ہے۔ میزبان: سینٹوس 8۔ یہاں سینٹوس 8۔ میزبان گروپ ہے یہ پلے بک صرف میزبانوں پر چلے گی۔ سینٹوس 8۔ میزبان گروپ

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

پلے بک کو مندرجہ ذیل طریقے سے چلائیں:

$جوابدہ پلے بک پلے بکس۔/ping_centos8_hosts.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، صرف میں میزبان سینٹوس 8۔ میزبان گروپ پنگ ہیں۔

متغیر متغیر اقسام۔

جوابی میں متغیرات کی مختلف اقسام ہیں۔ اہم متغیر اقسام ہیں۔ جواب دہ حقائق متغیرات اور صارف کی وضاحت کردہ متغیرات .

جواب دہ حقائق متغیرات: میزبان انسیبل پر انحصار کر رہا ہے جس پر کام کیا جا رہا ہے ، جواب دینے والا قابل جواب حقائق متغیرات پیدا کرتا ہے۔ جوابی حقائق متغیرات میزبان کے بارے میں معلومات پر مشتمل ہوتے ہیں ، جیسے IP پتے ، میزبان نام ، ڈومین نام ، تاریخ ، وقت ، شیل ماحولیاتی متغیرات ، اور بہت کچھ۔

صارف کی وضاحت کردہ متغیرات: یہ کسٹم متغیرات ہیں جن کی وضاحت صارف نے کی ہے۔ آپ کمانڈ لائن سے ، یا انوینٹری فائل کا استعمال کرتے ہوئے صارف سے متعین متغیرات پاس کر سکتے ہیں۔

بنیادی طور پر صارف سے متعین متغیرات دو قسم کے ہوتے ہیں: گروپ متغیرات اور میزبان متغیرات .

متغیر متغیر ترجیح

Ansible کی متغیر ترجیح ہے۔ : کمانڈ لائن متغیرات > میزبان متغیرات > گروپ متغیرات

اگر آپ میزبان متغیر اور گروپ متغیر کے طور پر ایک ہی متغیر مقرر کرتے ہیں تو ، میزبان متغیر لاگو کیا جائے گا۔

اسی طرح ، پلے بک چلاتے وقت آپ نے کمانڈ لائن سے جو متغیرات مرتب کیے ہیں وہ میزبان اور گروپ متغیر دونوں کو بدل دیں گے۔

جواب دہ حقائق متغیرات کے ساتھ کام کرنا۔

اس سیکشن میں ، میں آپ کو دکھاتا ہوں کہ جواب دینے والے حقائق کے متغیرات کے ساتھ کیسے کام کریں۔ تو ، ہمیں شروع کرنے دو!

آپ اپنے میزبانوں کے تمام جوابدہ حقائق متغیر کی فہرست دے سکتے ہیں۔ میزبان مندرجہ ذیل انوینٹری فائل:

$جوابدہ سبجوابدہسیٹ اپ

جیسا کہ آپ دیکھ سکتے ہیں ، تمام جوابدہ حقائق متغیرات JSON فارمیٹ میں درج ہیں۔ یہ ایک بہت طویل فہرست ہے۔

چونکہ فہرست کافی لمبی ہے ، آپ اسے پیجر پروگرام سے کھول سکتے ہیں جیسے۔ کم حسب ذیل:

$جوابدہ سبجوابدہسیٹ اپ| کم

اب ، آپ ضرورت کے مطابق آؤٹ پٹ کو اوپر ، نیچے ، بائیں اور دائیں سکرول کرسکتے ہیں۔

آپ پیجر سے متغیر نام بھی تلاش کرسکتے ہیں۔ ایسا کرنے کے لیے ، دبائیں / اپنے کی بورڈ پر کلید. پھر ، سرچ سٹرنگ ٹائپ کریں ( میزبان کا نام میرے معاملے میں) اور دبائیں۔ .

جیسا کہ آپ دیکھ سکتے ہیں ، جوابی حقائق کا متغیر جو تلاش کے تار سے مماثل ہے۔ ansible_hostname . آپ دبا سکتے ہیں۔ ن۔ اگلے میچ میں جانا اور پی۔ پیجر سے پچھلے میچ پر جائیں۔ اس طرح آپ کو جواب دینے والے حقائق متغیر ملتے ہیں جن کی آپ کو اپنے جوابی منصوبے کے لیے ضرورت ہوتی ہے۔

آئیے اب دیکھتے ہیں کہ جوابی حقائق کے متغیرات تک کیسے رسائی حاصل کی جائے۔

ایک نئی پلے بک بنائیں۔ print_variable1.yaml حسب ذیل:

$نینوپلے بکس/print_variable1.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ print_variable1.yaml فائل:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: پرنٹمیزبان کا نامتمام میزبانوں میں سے
ڈیبگ:
پیغام:'{{ansible_hostname}}'

یہاں ، میں نے ایک کام شامل کیا ہے۔ تمام میزبانوں کا میزبان نام پرنٹ کریں۔ . یہ کام جواب دینے والا استعمال کرتا ہے۔ ڈیبگ پلے بک چلنے پر ایک پیغام پرنٹ کرنے کا ماڈیول۔

msg کا صرف مطلوبہ پیرامیٹر ہے۔ ڈیبگ ماڈیول کی msg پیرامیٹر حوالوں میں ایک تار قبول کرتا ہے ، جو کہ پیغام ہے جو کنسول پر چھاپا جائے گا۔

یہاں ، {{variable_name}} فارمیٹ متغیر تک رسائی کے لیے استعمال ہوتا ہے۔ اس معاملے میں، {{ansible_hostname}} پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔ ansible_hostname انوینٹری فائل میں ہر میزبان کا متغیر۔

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

آپ جوابی حقائق کے متغیر تک بھی رسائی حاصل کرسکتے ہیں۔ ansible_facts [variable_name] . تو ، ansible_hostname متغیر بن جائے گا جواب دینے کے حقائق [میزبان نام] .

ہم دوبارہ لکھ سکتے ہیں۔ print_variable1.yaml اس طرح پلے بک. ہمیں وہی پیداوار ملے گی۔

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: پرنٹمیزبان کا نامتمام میزبانوں میں سے
ڈیبگ:
پیغام:'{{ansible_facts [' variable_name ']}}' '

پلے بک چلائیں۔ print_variable1.yaml حسب ذیل:

$جوابدہ پلے بک پلے بکس۔/print_variable1.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، انوینٹری فائل میں ہر میزبان کا میزبان نام کنسول پر چھپا ہوا ہے۔

آئیے اب میزبان نام کے ساتھ ہر میزبان کا ڈیفالٹ IPv4 ایڈریس پرنٹ کریں۔ جیسا کہ آپ دیکھ سکتے ہیں ، میزبان کے ڈیفالٹ IPv4 ایڈریس تک رسائی حاصل کی جا سکتی ہے پتہ کی جائیداد ansible_default_ipv4 چیز.

ایک نئی پلے بک بنائیں۔ print_variable2.yaml حسب ذیل:

$نینوپلے بکس/print_variable2.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ print_variable2.yaml فائل:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: پرنٹمیزبان کا نامتمام میزبانوں میں سے
ڈیبگ:
پیغام:'{{ansible_hostname}} - {{ansible_default_ipv4.address}}'

یہ پلے بک پہلے کی طرح ہے۔ فرق صرف نیا متغیر ہے۔ {{ansible_default_ipv4.address}} میں msg کا اختیار ڈیبگ ماڈیول

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں print_variable2.yaml پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/print_variable2.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، ڈیفالٹ IPv4 ایڈریس اور میزبانوں کا میزبان نام کنسول پر چھاپا جاتا ہے۔

تو ، اس طرح آپ جواب دینے والے حقائق متغیرات کے ساتھ کام کرتے ہیں۔

کمانڈ لائن سے صارف کے متعین متغیرات کی ترتیب:

اس سیکشن میں ، میں آپ کو دکھاؤں گا کہ کس طرح کمانڈ لائن سے صارف کے متعین کردہ متغیرات کو انسیبل پلے بکس چلاتے ہوئے ترتیب دیا جائے۔

سب سے پہلے ، ایک نئی پلے بک بنائیں۔ print_variable3.yaml حسب ذیل:

$نینوپلے بکس/print_variable3.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ print_variable3.yaml فائل:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: پرنٹکمانڈلائن متغیر
ڈیبگ:
پیغام:'خوش آمدید {{username}}'

یہاں ، میں نے استعمال کیا ہے ڈیبگ پیغام پرنٹ کرنے کے لیے ماڈیول خوش آمدید {{username}} . صارف نام ایک متغیر ہے جسے متبادل بنایا جائے گا جب ہم پلے بک چلائیں گے۔

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

پلے بک چلائیں۔ print_variable3.yaml حسب ذیل:

$جوابدہ پلے بک-اور 'صارف نام = باب'پلے بکس/print_variable3.yaml

نوٹ: یہاں ، -اور آپشن a کو پاس کرنے کے لیے استعمال کیا جاتا ہے۔ صارف نام قدر کے ساتھ متغیر باب پلے بک پر print_variable3.yaml کمانڈ لائن سے.

جیسا کہ آپ دیکھ سکتے ہیں ، پیغام۔ خوش آمدید باب۔ کنسول پر چھپی ہوئی ہے۔

آئیے اب دریافت کریں کہ کمانڈ لائن سے متعدد متغیرات کو کیسے پاس کیا جائے۔

ایک نئی پلے بک بنائیں۔ print_variable4.yaml حسب ذیل:

$نینوپلے بکس/print_variable4.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ print_variable4.yaml فائل:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: صارف کے متعین کردہ متغیرات پرنٹ کریں۔
ڈیبگ:
پیغام:'صارف نام = {{صارف نام}} http_port = {{http_port}}'

پلے بک ابھی آپ سے بہت واقف ہونی چاہئے۔ یہ صرف 2 متغیرات کو پرنٹ کرنا ہے۔ صارف نام اور http_port کنسول پر

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

اب آپ پاس کر سکتے ہیں۔ صارف نام اور http_port دو مختلف کا استعمال کرتے ہوئے پلے بک میں متغیر۔ -اور اختیار مندرجہ ذیل ہے:

$ جوابی پلے بک۔-اور 'صارف نام = باب' -اور 'http_port = 8080'
پلے بکس/print_variable4.yaml

یا ، آپ صرف وائٹ اسپیس کے ساتھ متغیرات کو الگ کر سکتے ہیں ، جیسا کہ:

$ جوابی پلے بک۔-اور 'صارف نام = باب http_port = 8080'
پلے بکس/print_variable4.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، صارف نام اور http_port متغیرات کنسول پر چھاپے جاتے ہیں۔

صارف کے متعین کردہ گروپ متغیرات کے ساتھ کام کرنا۔

کہو ، آپ میزبانوں کے گروپ میں کچھ متغیرات شامل کرنا چاہتے ہیں۔ یہ عمل جواب دینے میں بہت آسان ہے۔

پہلے ، اپنا کھولیں۔ میزبان مندرجہ ذیل انوینٹری فائل:

$نینومیزبان

اپنے میں درج ذیل لائنیں ٹائپ کریں۔ میزبان انوینٹری فائل:

[ڈیبین 10۔]
vm1.nodekite.com۔
vm2.nodekite.com۔
[debian10: vars]
صارف نام = للی
http_port =4343۔
[سینٹوس 8۔]
vm3.nodekite.com۔
vm4.nodekite.com
[centos8: vars]
صارف نام = باب۔
http_port =7878۔

جیسا کہ آپ دیکھ سکتے ہیں ، میں نے ایک نیا سیکشن بنایا ہے۔ [ڈیبین 10: vars] کے لیے ڈیبین 10۔ میزبان گروپ اور متغیرات کو شامل کیا ( صارف نام اور http_port ) کے لیے۔ ڈیبین 10۔ میزبان گروپ وہاں

اسی طرح ، میں نے ایک نیا سیکشن بنایا ہے۔ [centos8: vars] کے لیے سینٹوس 8۔ میزبان گروپ اور متغیرات کو شامل کیا ( صارف نام اور http_port ) کے لیے۔ سینٹوس 8۔ میزبان گروپ وہاں

ایک بار جب آپ فارغ ہوجائیں تو ، محفوظ کریں۔ میزبان دبانے سے انوینٹری فائل + ایکس اس کے بعد اور اور .

چلائیں print_variable4.yaml پلے بکس مندرجہ ذیل ہیں:

$جوابدہ پلے بک پلے بکس۔/print_variable4.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، درست متغیرات ہر میزبان کو ان کے میزبان گروپ پر منحصر ہوتے ہیں۔

صارف کے متعین میزبان متغیرات کے ساتھ کام کرنا۔

اس سیکشن میں ، میں آپ کو دکھاتا ہوں کہ انوینٹری فائل میں مخصوص میزبانوں کے لیے متغیرات کیسے مرتب کیے جائیں۔

سب سے پہلے ، کھولیں میزبان مندرجہ ذیل انوینٹری فائل:

$نینومیزبان

کسی مخصوص میزبان میں متغیرات شامل کرنے کے لیے (کہو ، vm1.nodekite.com۔ ) ، میزبان IP/DNS نام کے بعد صرف ایک جگہ/ٹیب شامل کریں اور اپنے متغیرات میں ٹائپ کریں ، جیسا کہ نیچے اسکرین شاٹ میں دکھایا گیا ہے۔

آپ متعدد متغیرات بھی شامل کر سکتے ہیں۔ بس ہر ایک متغیر کو ایک جگہ کے ساتھ الگ کریں۔

ایک بار جب آپ فارغ ہوجائیں تو ، انوینٹری فائل کو دباکر محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں print_variable4.yaml پلے بکس مندرجہ ذیل ہیں:

$جوابدہ پلے بک پلے بکس۔/print_variable4.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، متغیرات صرف کے لیے مقرر کیے گئے ہیں۔ vm1.nodekite.com۔ میزبان دوسرے میزبانوں پر گروپ متغیرات کا اطلاق ہوتا ہے۔

رینجز کے ساتھ انوینٹری فائلیں جلدی سے بنانا۔

اگر آپ کے میزبان IP پتے یا DNS نام مستقل ہیں (یعنی ایک مخصوص شکل ہے) تو آپ جوابی انوینٹری فائلوں کو تیزی سے پیدا کرنے کے لیے حدود کا استعمال کرسکتے ہیں۔

پہلے کی مثالوں میں ، میں نے میزبانوں کو استعمال کیا ہے۔ vm1.nodekite.com۔ ، vm2.nodekite.com۔ ، vm3.nodekite.com۔ اور vm4.nodekite.com . 4 لائنوں میں ٹائپ کرنے کے بجائے ، میں صرف ٹائپ کر سکتا تھا۔ vm [1: 4] .nodekite.com۔ انوینٹری فائل میں.

حدود کے ساتھ تجربہ کرنے کے لیے ، کھولیں۔ میزبان مندرجہ ذیل انوینٹری فائل:

$نینومیزبان

انوینٹری فائلوں سے تمام میزبان اور متغیرات کو ہٹا دیں۔

اب ہم بدل سکتے ہیں۔ vm1.nodekite.com۔ اور vm2.nodekite.com۔ کے ساتھ vm [1: 2] .nodekite.com۔ کے لیے ڈیبین 10۔ میزبان گروپ مندرجہ ذیل ہے۔

اسی طرح ، ہم تبدیل کر سکتے ہیں۔ vm3.nodekite.com۔ اور vm4.nodekite.com کے ساتھ vm [3: 4] .nodekite.com۔ کے لیے سینٹوس 8۔ میزبان گروپ

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں ping_all_hosts.yaml حسب ذیل:

$جوابدہ پلے بک پلے بکس۔/ping_all_hosts.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، میزبان کی حدود میں توسیع کی گئی جب میں نے پلے بک چلایا۔

متغیرات کو مختلف فائلوں میں محفوظ کرنا۔

ایک ہی انوینٹری فائل میں گروپ متغیرات اور میزبان متغیرات کو محفوظ کرنا بہت آسان ہے۔ لیکن ، آپ کو مزید لچک کی تلاش ہو سکتی ہے۔ خاص طور پر جب آپ اپنی انوینٹری فائل میں حدود استعمال کرنا چاہتے ہیں کیونکہ اگر آپ حدود استعمال کرتے ہیں تو آپ میزبان متغیرات کو مزید ترتیب نہیں دے سکتے ہیں۔ ٹھیک ہے ، آپ مختلف فائلوں میں گروپ متغیرات اور میزبان متغیرات کو محفوظ کرسکتے ہیں۔ اس سیکشن میں ، میں آپ کو دکھاتا ہوں کہ یہ کیسے ہوا ہے۔

پہلے سے طے شدہ طور پر ، جواب دینے والا گروپ میں متغیرات کی تلاش کرتا ہے۔ group_vars / ڈائریکٹری اور میزبان میں متغیرات میزبان_ وار / ڈائریکٹری

تو ، تخلیق کریں۔ group_vars / اور میزبان_ وار / مندرجہ ذیل ڈائریکٹری:

$mkdir -پی وی {میزبان ، گروپ}_کون؟

کے لیے گروپ متغیرات سیٹ کرنا۔ ڈیبین 10۔ میزبان گروپ ، ایک فائل بنائیں۔ ڈیبین 10۔ (گروپ کے نام کی طرح) میں group_vars / مندرجہ ذیل ڈائریکٹری:

$نینوgroup_vars/ڈیبین 10۔

اپنے متغیرات کو درج ذیل میں ٹائپ کریں:

صارف نام: للی
http_port: 4343۔

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد Y اور .

اسی طرح ، گروپ متغیرات کو سیٹ کرنے کے لیے سینٹوس 8۔ میزبان گروپ ، ایک فائل بنائیں۔ سینٹوس 8۔ (گروپ کے نام کی طرح) میں group_vars / مندرجہ ذیل ڈائریکٹری:

$نینوgroup_vars/سینٹوس 8۔

اپنے متغیرات کو درج ذیل میں ٹائپ کریں:

صارف نام: باب۔
http_port: 7878۔

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد Y اور .

چلائیں print_variable4.yaml پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/print_variable4.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، گروپ کے متغیرات ہر میزبان گروپس کے لیے صحیح طریقے سے مقرر کیے گئے ہیں۔

میزبان کے لیے میزبان متغیرات کا تعین کرنا۔ vm1.nodekite.com۔ ، ایک فائل بنائیں۔ vm1.nodekite.com۔ (میزبان نام یا IP ایڈریس کی طرح) میں میزبان_ وار / مندرجہ ذیل ڈائریکٹری:

$نینوvm1.nodekite.com۔

اپنے میزبان متغیرات کو درج ذیل میں ٹائپ کریں:

صارف نام: الیکس۔
http_port: 7788۔

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد Y اور .

چلائیں print_variable4.yaml پلے بک مندرجہ ذیل ہے:

$ ansible-playbook پلے بکس۔/print_variable4.yaml
[

جیسا کہ آپ دیکھ سکتے ہیں ، میزبان کے لیے میزبان کے متغیرات درست طریقے سے مقرر کیے گئے ہیں۔ vm1.nodekite.com۔ .

جوابی میں لوپس کے ساتھ کام کرنا۔

اس سیکشن میں ، میں آپ کو دکھائے گا کہ جوابی میں لوپس کا استعمال کیسے کریں۔

سب سے پہلے ، ایک نئی پلے بک بنائیں۔ loop1.yaml میں پلے بکس/ مندرجہ ذیل ڈائریکٹری:

$نینوپلے بکس/loop1.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ loop1.yaml پلے بک:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: صارف کی فہرست پرنٹ کریں۔
ڈیبگ:
پیغام:'صارف: {{item}}'
with_items:
- الیکس
- باب
- للی

یہاں ، میرے پاس 1 ٹاسک ہے جو لوپ استعمال کرنے والے صارفین کی فہرست پرنٹ کرتا ہے۔

کام کے لیے تکرار کی اقدار مقرر کرنے کے لیے ، آپ with_items ماڈیول پھر ، آپ اقدار کو ایک ایک کرکے شامل کریں۔

with_items:
- الیکس
- باب
- للی

آپ موجودہ تکرار کی قدر تک رسائی حاصل کرتے ہیں آئٹم متغیر

ڈیبگ:
پیغام:'صارف: {{item}}'

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں loop1.yaml پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/loop1.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، ہر میزبان پر ہر آئٹم کے لیے ایک ہی کام چلا۔ تو ، لوپ کام کر رہا ہے۔

جوابی میں حالات کے ساتھ کام کرنا۔

اگر آپ کچھ شرائط پر مبنی کاموں کو چلانا چاہتے ہیں تو یہ سیکشن آپ کے لیے ہے۔

حالت کی بنیاد پر کاموں کو چلانے کے لیے ، آپ استعمال کر سکتے ہیں کب جواب دینے والا ماڈیول آئیے اس ماڈیول کی ایک مثال دیکھیں۔ سب سے پہلے ، ایک نئی پلے بک بنائیں۔ حالت 1. یمیل حسب ذیل:

$نینوپلے بکس/حالت 1. یمیل

میں درج ذیل لائنیں ٹائپ کریں۔ حالت 1. یمیل پلے بک:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: یہ کام صرف ڈیبین پر چلائیں۔
ڈیبگ:
پیغام:'یہ کام ڈیبین پر چل رہا ہے'
جب: ansible_facts['تقسیم']=='ڈیبین'

یہاں ،

ansible_facts ['distribution'] == 'Debian' چیک کرنے کے لیے استعمال کیا جاتا ہے کہ تقسیم ہے ڈیبین۔ . یہ کام تب ہی چلے گا جب تقسیم ڈیبین ہو۔

کی جواب دینے کے حقائق [تقسیم] جوابی حقائق متغیر تک رسائی کے لیے استعمال کیا جاتا ہے۔ جوابی تقسیم . آپ ڈسٹری بیوشن ورژن کو بھی چیک کر سکتے ہیں ansible_distribution_major_version متغیر

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں حالت 1. یمیل پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/حالت 1. یمیل

جیسا کہ آپ دیکھ سکتے ہیں ، یہ کام صرف ڈیبین میزبانوں پر چلا۔ یہ کام CentOS میزبانوں پر نہیں چلا۔

آپ ایک ہی وقت میں متعدد شرائط کو بھی چیک کر سکتے ہیں اور کام کو صرف اس صورت میں چلا سکتے ہیں جب تمام شرائط درست ہوں۔ آئیے ایک مثال دیکھتے ہیں۔

ایک نئی پلے بک بنائیں۔ condition2.yaml حسب ذیل:

$نینوپلے بکس/condition2.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ condition2.yaml فائل:

- میزبان: سب۔
صارف: جوابدہ
کام:
- نام: یہ کام صرف ڈیبین پر چلائیں۔10۔
ڈیبگ:
پیغام:'یہ کام ڈیبین 10 پر چل رہا ہے'
جب: ansible_facts['تقسیم']=='ڈیبین'
اور جواب دینے کے حقائق۔['ڈسٹری بیوشن_مجور_ورژن']=='10'

یہاں ، کام تب ہی چلے گا جب تقسیم ڈیبین ہو ( ansible_facts ['distribution'] == 'Debian' اور ورژن 10 ہے ansible_facts ['distribution_major_version'] == '10' ). اگر دونوں شرائط درست ہیں ، تو کام چلے گا۔ دوسری صورت میں ، کام نہیں چلے گا۔

میں نے استعمال کیا ہے اور مطلوبہ الفاظ یہ چیک کریں کہ دونوں شرائط یہاں درست ہیں یا نہیں۔ اگر آپ چیک کرنا چاہتے ہیں کہ آیا کوئی بھی شرط درست ہے تو آپ استعمال کر سکتے ہیں یا اس کے بجائے مطلوبہ الفاظ

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

پلے بک چلائیں۔ condition2.yaml حسب ذیل:

$جوابدہ پلے بک پلے بکس۔/condition2.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، یہ کام صرف ڈیبین 10 میزبانوں پر چلا۔

آئیے پلے بک کو تبدیل کریں۔ condition2.yaml مندرجہ ذیل کے طور پر صرف ڈیبین 8 میزبانوں پر ٹاسک چلانے کے لئے۔

جیسا کہ آپ دیکھ سکتے ہیں ، تمام میزبانوں کو چھوڑ دیا گیا کیونکہ میرے پاس انوینٹری فائل میں کوئی ڈیبین 8 میزبان نہیں ہے۔

جوابی اپٹ ماڈیول کے ساتھ کام کرنا۔

کی مناسب جوابی کا ماڈیول اوبنٹو/ڈیبین میزبانوں پر ایک مخصوص سافٹ ویئر پیکج انسٹال کرنے کے لیے استعمال ہوتا ہے۔ آئیے دیکھتے ہیں کہ اس ماڈیول کو کیسے استعمال کیا جائے۔

سب سے پہلے ، ایک نئی پلے بک بنائیں۔ apt1.yaml میں پلے بکس/ مندرجہ ذیل ڈائریکٹری:

$نینوپلے بکس/apt1.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ apt1.yaml پلے بک:

- میزبان: ڈیبین 10۔
صارف: جوابدہ
ہو: سچ۔
کام:
- نام: اپاچی 2 انسٹال کریں۔
مناسب:
نام: اپاچی 2۔
ریاست: تازہ ترین

کی مناسب ماڈیول صرف کی ضرورت ہے نام جس پیکیج کو آپ انسٹال/اپ گریڈ/ہٹانا چاہتے ہیں اور حالت پیکیج کا.

یہاں ، میں انسٹال کرنے کی کوشش کر رہا ہوں۔ اپاچی 2۔ پیکیج ( نام: اپاچی 2۔ ) میرے ڈیبین 10 میزبانوں پر۔ جیسا کہ میں ایک پیکیج انسٹال کرنے کی کوشش کر رہا ہوں اور اگر کوئی نیا ورژن دستیاب ہے تو اسے اپ گریڈ کرنے کی کوشش کر رہا ہوں ، حالت ہونا چاہئے تازہ ترین .

حالت مندرجہ ذیل اختیارات کو بھی قبول کرتا ہے:

- غیر حاضر - اگر پہلے سے انسٹال ہے تو پیکیج ہٹا دیا جائے گا۔
- تازہ ترین - اگر اپ ڈیٹ دستیاب ہے تو پیکیج کو اپ گریڈ کیا جائے گا۔ اگر پیکیج پہلے سے انسٹال نہیں ہے تو اسے انسٹال کر دیا جائے گا۔
- موجودہ - پیکیج انسٹال ہو جائے گا اگر پہلے سے انسٹال نہیں ہے۔ لیکن اگر اپ ڈیٹ دستیاب ہے تو پیکیج کو اپ گریڈ نہیں کیا جائے گا۔

نوٹس کریں کہ میں نے شامل کیا ہے۔ ہو: سچ۔ پلے بک میں یہ دے گا جوابدہ فائل سسٹم کے ڈھانچے میں ترمیم کے لیے صارف sudo مراعات (یعنی پیکجز انسٹال/اپ گریڈ/ہٹائیں)۔ بغیر ہو: سچ۔ ، مناسب ماڈیول انسٹال نہیں کر سکے گا۔ اپاچی 2۔ پیکیج

ایک بار جب آپ فارغ ہوجائیں تو ، پلے بک کو دباکر محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں apt1.yaml پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/apt1.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، پلے بک کامیابی سے ڈیبین 10 میزبانوں پر چلی۔

جیسا کہ آپ دیکھ سکتے ہیں ، اپاچی 2۔ میرے ڈیبین 10 میزبانوں پر پیکیج انسٹال ہے۔

جوابی ڈی این ایف/یم ماڈیول کے ساتھ کام کرنا۔

کی ڈی این ایف اور یم جوابی کا ماڈیول CentOS/RHEL میزبانوں پر ایک مخصوص سافٹ وئیر پیکج انسٹال کرنے کے لیے استعمال ہوتا ہے۔ آپ اس ماڈیول کو اسی طرح استعمال کر سکتے ہیں جیسا آپ نے کیا تھا۔ مناسب اس مضمون کے پہلے حصے میں ماڈیول۔

دونوں ڈی این ایف اور یم ماڈیولز ایک جیسے پیرامیٹرز کو قبول کرتے ہیں۔ آپ استعمال کر سکتے ہیں ڈی این ایف CentOS/RHEL 8 میزبانوں پر ماڈیول ، اور۔ یم CentOS/RHEL 7 یا اس سے زیادہ پر۔

آئیے اب اس ماڈیول کی ایک مثال دیکھیں۔

سب سے پہلے ، ایک نئی پلے بک بنائیں۔ dnf1.yaml میں پلے بکس/ مندرجہ ذیل ڈائریکٹری:

$نینوپلے بکس/dnf1.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ dnf1.yaml پلے بک:

- میزبان: سینٹوس 8۔
صارف: جوابدہ
ہو: سچ۔
کام:
- نام: httpd پیکیج انسٹال کریں۔
ڈی این ایف:
نام: httpd
ریاست: تازہ ترین

کی ڈی این ایف اور یم ماڈیول صرف کی ضرورت ہے نام جس پیکیج کو آپ انسٹال/اپ گریڈ/ہٹانا چاہتے ہیں اور حالت پیکیج کا.

یہاں ، میں انسٹال کرنے کی کوشش کر رہا ہوں۔ httpd پیکیج ( نام: httpd ) میرے CentOS 8 میزبانوں پر۔ جیسا کہ میں ایک پیکیج انسٹال کرنے کی کوشش کر رہا ہوں ، اور اگر میں نیا ورژن دستیاب ہو تو میں اسے اپ گریڈ کرنا بھی چاہوں گا ، حالت ہونا چاہئے تازہ ترین .

حالت مندرجہ ذیل اختیارات کو قبول کرتا ہے:

- غیر حاضر - اگر پہلے سے انسٹال ہے تو پیکیج ہٹا دیا جائے گا۔
- تازہ ترین - اگر اپ ڈیٹ دستیاب ہے تو پیکیج کو اپ گریڈ کیا جائے گا۔ اگر پیکیج پہلے سے انسٹال نہیں ہے تو اسے انسٹال کر دیا جائے گا۔
- موجودہ - پیکیج انسٹال ہو جائے گا اگر پہلے سے انسٹال نہیں ہے۔ لیکن اگر اپ ڈیٹ دستیاب ہے تو پیکیج کو اپ گریڈ نہیں کیا جائے گا۔

نوٹس کریں کہ میں نے شامل کیا ہے۔ ہو: سچ۔ پلے بک میں یہ دیتا ہے جوابدہ فائل سسٹم کے ڈھانچے میں ترمیم کے لیے صارف sudo مراعات (یعنی پیکجز انسٹال/اپ گریڈ/ہٹائیں)۔ بغیر ہو: سچ۔ ، مناسب ماڈیول انسٹال نہیں کر سکے گا۔ httpd پیکیج

ایک بار جب آپ فارغ ہوجائیں تو ، پلے بک کو دباکر محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں dnf1.yaml پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/dnf1.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، پلے بُک کامیابی کے ساتھ CentOS 8 میزبان پر چلا۔

جوابدہ سروس ماڈیول کے ساتھ کام کرنا۔

کی سروس جواب دینے والا ماڈیول آپ کے میزبانوں میں شروع کرنے ، روکنے ، دوبارہ شروع کرنے ، فعال کرنے (سروس کو شامل کرنے) ، اور غیر فعال (اسٹارٹ اپ سے سروس ہٹانے) کے لیے استعمال کیا جاتا ہے۔

پہلے حصوں میں ، میں نے آپ کو دکھایا کہ جوابی کا استعمال کرتے ہوئے اپاچی HTTP سرور پیکیج کیسے انسٹال کیا جائے۔ مناسب ، ڈی این ایف اور یم ماڈیولز آئیے اب یہ یقینی بنائیں کہ اپاچی HTTP سرور سروس چل رہی ہے اور اسے سسٹم اسٹارٹ اپ میں شامل کر دیا گیا ہے۔

میں اپنے ڈیبین 10 میزبانوں کے ساتھ کام کروں گا۔ لیکن ، اگر آپ چاہیں تو آپ CentOS 8 میزبانوں کے ساتھ کام کر سکتے ہیں۔ بس اس کے مطابق پلے بک ایڈجسٹ کریں۔

پہلے ، ایک نئی جوابی پلے بک بنائیں۔ apt2.yaml حسب ذیل:

$نینوپلے بکس/apt2.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ apt2.yaml پلے بک:

- میزبان: ڈیبین 10۔
صارف: جوابدہ
ہو: سچ۔
کام:
- نام: اپاچی 2 انسٹال کریں۔
مناسب:
نام: اپاچی 2۔
ریاست: تازہ ترین
- نام: اپاچی 2 سروس شروع کریں۔
سروس:
نام: اپاچی 2۔
ریاست: شروع
فعال: سچ۔

یہاں ، میں نے ایک نیا کام شامل کیا ہے ، اپاچی 2 سروس شروع کریں۔ .

نام: اپاچی 2۔ - میں جس خدمت پر کام کر رہا ہوں وہ ہے۔ اپاچی 2۔ .

ریاست: شروع - سروس چل رہی ہونی چاہیے۔

فعال: سچ۔ - سروس کو سسٹم اسٹارٹ اپ میں شامل کرنا ضروری ہے۔

کی حالت پیرامیٹر دیگر اقدار کو قبول کرتا ہے۔

- دوبارہ لوڈ - سروس کو کنفیگریشن فائلوں کو دوبارہ لوڈ کرنا ہوگا۔
- دوبارہ شروع - سروس کو دوبارہ شروع کرنا ہوگا۔
- شروع - سروس چل رہی ہونی چاہیے۔ اگر سروس نہیں چل رہی ہے تو سروس شروع کریں۔
- رک گیا - سروس بند ہونی چاہیے۔ اگر سروس چل رہی ہے تو سروس بند کر دیں۔

پلے بک چلائیں۔ apt2.yaml حسب ذیل:

$جوابدہ پلے بک پلے بکس۔/apt2.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، پلے بک کامیابی کے ساتھ چلائی گئی۔

جیسا کہ آپ دیکھ سکتے ہیں ، اپاچی 2۔ سروس میرے ڈیبین 10 میزبانوں پر چل رہی ہے۔

جوابی کاپی ماڈیول کے ساتھ کام کرنا۔

جواب دینے والا۔ کاپی ماڈیول بنیادی طور پر آپ کے کمپیوٹر سے فائلوں کو ریموٹ میزبانوں میں کاپی کرنے کے لیے استعمال کیا جاتا ہے۔

پہلے حصے میں ، میں نے اپنے ڈیبین 10 میزبانوں پر اپاچی 2 ویب سرور انسٹال کیا۔ آئیے اب ایک کاپی کریں۔ index.html ڈیبین 10 میزبانوں کے ویبروٹ پر فائل کریں۔

سب سے پہلے ، ایک نئی ڈائریکٹری بنائیں۔ فائلوں/ حسب ذیل:

$mkdir -vفائلوں

ایک نئی فائل بنائیں۔ index.html میں فائلوں/ مندرجہ ذیل ڈائریکٹری:

$نینوفائلوں/index.html

میں درج ذیل لائنیں ٹائپ کریں۔ index.html فائل:


< html >
< سر >
< عنوان >ویبسرور از انسیبل۔</ عنوان >
</ سر >
< جسم >
< h1 >LinuxHint میں خوش آمدید۔</ h1 >
< p >یہ ویب سرور جوابی کے ساتھ تعینات کیا گیا تھا۔</ p >
</ جسم >
</ html >

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

ایک نئی جوابی پلے بک بنائیں۔ apt3.yaml حسب ذیل:

$نینوپلے بکس/apt3.yaml

میں درج ذیل لائنیں ٹائپ کریں۔ apt3.yaml فائل:

- میزبان: ڈیبین 10۔
صارف: جوابدہ
ہو: سچ۔
کام:
- نام: اپاچی 2 انسٹال کریں۔
مناسب:
نام: اپاچی 2۔
ریاست: تازہ ترین
- نام: index.html کو سرور میں کاپی کریں۔
کاپی:
src: ../فائلوں/index.html
تقدیر:/کہاں/www/html/index.html
موڈ: 0644
مالک: www-data
گروپ: www-data
- نام: اپاچی 2 سروس شروع کریں۔
سروس:
نام: اپاچی 2۔
ریاست: شروع
فعال: سچ۔

یہاں ، کام index.html کو سرور میں کاپی کریں۔ کاپی کرتا ہے index.html سے فائلوں/ ڈائریکٹری کو / var / www / html / ڈیبین 10 میزبانوں کی ڈائریکٹری۔

src: ../files/index.html - سورس فائل کا راستہ۔
dest: /var/www/html/index.html۔ - منزل فائل کا راستہ۔
موڈ: 0644 - فائل صارف کے لیے اجازت (6 - پڑھنا اور لکھنا) ، گروپ (4 - پڑھنا) ، اور دیگر (4 - پڑھنا)۔
مالک: www-data - فائل کے مالک کو مقرر کریں۔ www-data .
گروپ: www-data - فائل کا گروپ سیٹ کریں۔ www-data .

ایک بار جب آپ فارغ ہوجائیں تو ، دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور .

چلائیں apt3.yaml پلے بک مندرجہ ذیل ہے:

$جوابدہ پلے بک پلے بکس۔/apt3.yaml

جیسا کہ آپ دیکھ سکتے ہیں ، کام۔ index.html کو سرور میں کاپی کریں۔ کامیاب ہے.

جیسا کہ آپ دیکھ سکتے ہیں ، index.html فائل کو ڈیبین 10 میزبانوں میں کاپی کیا گیا۔

جیسا کہ آپ دیکھ سکتے ہیں ، ڈیبین 10 ویب سرور پیش کرتا ہے۔ index.html وہ صفحہ جسے میں نے ابھی ڈیبین 10 میزبانوں کے لیے نقل کیا ہے۔

تو ، یہ جواب دینے کی بنیادی باتیں ہیں۔ آپ جواب دینے کے بارے میں سرکاری دستاویزات پڑھ کر جواب دینے کے بارے میں مزید جان سکتے ہیں۔ اس مضمون کو پڑھنے کے لیے آپ کا شکریہ۔