ويب سرور CentOS 8 تي php7، node.js ۽ redis سان

اڳوڻي

CentOS آپريٽنگ سسٽم جي نئين ورزن کي جاري ٿيڻ کي 2 ڏينهن ٿي ويا آهن، يعني CentOS 8. ۽ هن وقت تائين انٽرنيٽ تي ڪافي آرٽيڪل موجود آهن ته ان ۾ شيون ڪيئن ڪيون وينديون آهن، تنهنڪري مون هن خال کي ڀرڻ جو فيصلو ڪيو. ان کان علاوه، مان توهان کي نه رڳو اهو ٻڌايان ٿو ته ڪيئن پروگرامن جي هن جوڙي کي ڪيئن نصب ڪيو وڃي، پر اهو پڻ ٻڌايو ته آئون عام طور تي جديد دنيا ۾ هڪ ورچوئل ماحول ۾ لينڪس کي انسٽال ڪرڻ کي عام طور تي عام ڪمن لاء، بشمول ڊسڪ ڊسڪ وغيره وغيره.

پر شروعات ۾، مان مختصر طور تي ڳالهائڻ چاهيان ٿو ته اهو سڀ ڪجهه اڳئين نسخن کان هن نسخي کي تبديل ڪرڻ جي قابل آهي، ۽ ان جا ٻه سبب آهن:

  1. php7! CentOS جي پوئين ورزن ۾، "آرٿوڊوڪس" php5.4 نصب ڪيو ويو ...

    ٺيڪ آهي، ٿورڙو وڌيڪ سنجيده ٿيڻ لاء، ڪيترائي پيڪيجز ڪيترن ئي نسخن جي ذريعي ٽپي ويا. اسان (redhat-like OSes جا مداح) آخرڪار داخل ٿي ويا آهيون، جيڪڏهن مستقبل ۾ نه، پوء گهٽ ۾ گهٽ موجوده ۾. ۽ Ubuntu حامي هاڻي اسان تي نه کلندا ۽ اسان ڏانهن آڱريون اشارو ڪندا، خير ... گهٽ ۾ گهٽ ٿوري دير لاء؛).

  2. yum کان dnf تائين منتقلي. بنيادي فرق اهو آهي ته هاڻي اهو سرڪاري طور تي هڪ ئي وقت پيڪيجز جي ڪيترن ئي نسخن سان ڪم ڪرڻ جي حمايت ڪئي وئي آهي. اٺن ۾ صحيح، مون کي ڪڏهن به اهو مفيد نه مليو آهي، پر اهو واعدو آواز آهي.

هڪ مجازي مشين ٺاهيو

هتي مختلف هائپرائزر آهن ۽ منهنجو ڪو به مقصد ناهي ته پڙهندڙ کي هڪ خاص سان ترتيب ڏيان، مان توهان کي عام اصولن بابت ٻڌايان ٿو.

هوندي آهي

پهريون... انسٽال ڪرڻ لاءِ CentOS سسٽم 7 کان شروع ٿئي ٿو پڪ سان، ۽ منهنجي خيال ۾ اهو معاملو 6 ۾ پڻ هو ("پر اهو پڪ ناهي")، توهان کي ضرورت آهي گهٽ ۾ گهٽ 2 GB رام. تنهن ڪري، مان توهان کي صلاح ڏيان ٿو ته پهريان گهڻو ڪجهه ڏيو.

پر جيڪڏهن ڪجھ به، انسٽاليشن کان پوء ميموري سائيز کي گھٽائي سگھجي ٿو. 1 GB تي بيئر سسٽم تمام سٺو ڪم ڪري ٿو، مون چڪاس ڪيو.

ڊسڪ

عام تنصيب لاء، توهان کي 20-30 GB جي گنجائش سان هڪ مجازي ڊسڪ ٺاهڻ گهرجي. اهو نظام لاء ڪافي آهي. ۽ ڊيٽا لاء هڪ سيڪنڊ ڊسڪ. اهو هڪ مجازي مشين ٺاهڻ جي اسٽيج تي ۽ بعد ۾ شامل ڪري سگهجي ٿو. آئون عام طور تي بعد ۾ شامل ڪريو.

پروسيسر

ھڪڙي بنيادي تي، بيئر سسٽم سست نه ڪندو آھي. ۽ جيئن ته وسيلا آزاد طور تي اسپيبلبل آهن، مون کي انسٽاليشن اسٽيج تي وڌيڪ ڏيڻ ۾ ڪو به نقطو نظر نه ٿو اچي (جيستائين توهان گهربل ضرورتن کي مڪمل طور تي ڄاڻو ٿا ۽ ٻيهر ترتيب ڏيڻ ۾ وڃڻ لاء تمام سست آهن)

باقي عام طور تي ڊفالٽ طور ڇڏي سگھجي ٿو.

اصل تنصيب

سو... اچو ته انسٽالر کي لانچ ڪريون... ذاتي طور تي، مان ڪافي عرصي کان اهڙيون خدمتون صرف ورچوئل مشينن جي صورت ۾ انسٽال ڪري رهيو آهيان، تنهن ڪري مان فليش ڊرائيو تي هر قسم جي ڊسٽريبيوشن رڪارڊ کي بيان نه ڪندس- مان صرف مائونٽ ڪريان ٿو. ISO منهنجي پسنديده هائپر ويزر ۾ سي ڊي جي طور تي، ڊائون لوڊ ڪريو ۽ وڃو.

بنيادي تنصيب بلڪل عام آهي، مان صرف چند پوائنٽن تي رهندو.

ذريعو چونڊ

اٺين ورزن جي ڇڏڻ کان وٺي، Yandex کان آئيني ڪيترن ئي ڏينهن تائين بيٺو آهي. خير، اهو آهي، اهو وقتي طور تي وڌي ٿو، ۽ پوء ٻيهر هڪ غلطي ڏيکارڻ شروع ٿئي ٿو. مون کي پڪ آهي ته اهو خدمت تي گهڻو لوڊ ڪرڻ جي ڪري آهي. تنهن ڪري، ماخذ کي ظاهر ڪرڻ لاء، مون کي ذاتي طور تي، عام ايڊريس داخل ڪرڻ بدران، وڃڻو پيو هتي، آئيني کي چونڊيو جيڪو مون کي پسند آهي اتي ۽ دستي طور ايڊريس داخل ڪريو انسٽالر ونڊو ۾. هتي ياد رکڻ ضروري آهي ته توهان کي فولڊر ڏانهن رستو بيان ڪرڻ جي ضرورت آهي جتي ڊاريڪٽري واقع آهي repodata. مثال طور mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

ڊسڪ ورهاڱي

اهو سوال منهنجي نظر ۾ بلڪه مذهبي آهي. هن معاملي تي هر منتظم جو پنهنجو موقف آهي. پر مان اڃا تائين ان مسئلي تي منهنجي نقطي نظر سان حصيداري ڪندس.

ها، اصولي طور تي، توهان سڄي جڳهه کي روٽ ڏانهن مختص ڪري سگهو ٿا ۽ اهو ڪم ڪندو، اڪثر گهڻو ڪري تمام سٺو. پوءِ ڇو باغ کي مختلف حصن سان وڍي؟ - منهنجي خيال ۾، هن جا ٻه مکيه سبب آهن: ڪوٽا ۽ پورٽبلٽي.

مثال طور، جيڪڏهن ڪجهه غلط ٿي وڃي ٿي ۽ مکيه ڊيٽا ورهاڱي تي غلطيون ٿينديون آهن، توهان اڃا تائين سسٽم کي بوٽ ڪرڻ ۽ بحالي جي قدمن تي عمل ڪرڻ چاهيندا. تنهن ڪري، مان ذاتي طور تي /boot لاءِ الڳ ورهاڱي مختص ڪيان ٿو. اتي ھڪڙو ڪنيل ۽ ھڪڙو بوٽ لوڊ ڪندڙ آھي. عام طور تي 500 ميگا بائيٽ ڪافي آهي، پر نادر ڪيسن ۾ وڌيڪ گهربل هجي، ۽ ڏنو ويو آهي ته اسان اڳ ۾ ئي ٽيرا بائيٽ ۾ جاء ماپڻ جا عادي آهيون، آئون هن حصي لاء 2GB مختص ڪريان ٿو. ۽ هتي اهم شيء اها آهي ته اهو نه ٿو ڪري سگهجي lvm.

اڳيان اچي ٿو سسٽم جو روٽ. هڪ عام انسٽاليشن لاءِ، مون کي ڪڏهن به 4 GB في سسٽم کان وڌيڪ جي ضرورت نه آهي، پر شيڊول ٿيل واقعن دوران آئون اڪثر استعمال ڪندو آهيان /tmp ڊاريڪٽري کي ڊسٽريبيوشن کولڻ لاءِ، ۽ مون کي ان کي الڳ ورهاڱي لاءِ وقف ڪرڻ ۾ ڪو به نقطو نظر نٿو اچي - جديد سسٽم ۾. اهو خودڪار طريقي سان صاف ڪيو ويو آهي، تنهنڪري اهو ڀريو نه آهي. تنهن ڪري مان روٽ لاءِ 8GB مختص ڪيان ٿو.

ادل بدليو... وڏي پيماني تي، ان مان ٿورو عملي استعمال آهي. جيڪڏهن توهان پنهنجي سرور تي ادل استعمال ڪرڻ شروع ڪيو، اڄ حقيقي دنيا ۾ هن جو مطلب صرف اهو آهي ته سرور کي وڌيڪ رام شامل ڪرڻ جي ضرورت آهي. ٻي صورت ۾، ڪارڪردگي سان مسئلا ضمانت آهن (يا ڪجهه پروگرام "ليڪ" ياداشت). تنهن ڪري، هي حصو صرف تشخيصي مقصدن لاء ضروري آهي. تنهن ڪري، 2 GB هڪ بهترين نمبر آهي. ها، قطع نظر سرور تي ڪيترو ياداشت موجود آهي. ها، مون اهي سڀئي آرٽيڪل پڙهيا آهن جتي ميموري حجم جي مقدار کي تبديل ڪرڻ جي تناسب بابت لکيو ويو آهي ... IMHO، اهي پراڻا آهن. 10 سالن جي مشق ۾ مون کي ڪڏهن به ضرورت ناهي. 15 سال اڳ مون ان کي استعمال ڪيو، ها.

IMHO، هرڪو پنهنجي لاءِ فيصلو ڪري سگهي ٿو ته ڇا /گهر کي الڳ ورهاڱي ۾ مختص ڪرڻو آهي. جيڪڏهن سرور تي ڪو ماڻهو هن ڊاريڪٽري کي فعال طور تي استعمال ڪندو، اهو بهتر آهي ته ان کي مختص ڪرڻ. جيڪڏهن ڪو به نه آهي، ڪا ضرورت ناهي.

اڳيون، /var. منهنجي خيال ۾، ان کي ضرور اجاگر ڪرڻ گهرجي. شروع ڪرڻ سان، توهان پنهنجو پاڻ کي 4 GB تائين محدود ڪري سگهو ٿا، ۽ ڏسو ته اهو ڪيئن وڃي ٿو. ۽ ها، ”اهو ڪيئن ٿو وڃي“ مان منهنجو مطلب اهو آهي

  1. پهرين، توهان هميشه /var سب ڊاريڪٽري ۾ ٻي ڊسڪ کي نصب ڪري سگهو ٿا (جنهن کي آئون بعد ۾ هڪ مثال سان ڏيکاريندس)
  2. ٻيو، اسان وٽ lvm آهي - توهان هميشه ان کي شامل ڪري سگهو ٿا. ۽ توھان کي عام طور تي ان کي شامل ڪرڻو پوندو آھي جڏھن گھڻا لاگ ان ۾ ڀرڻ شروع ٿين ٿا. پر مان ڪڏهن به اڳ ۾ هن انگن اکرن جي اڳڪٿي نه ڪري سگهيو آهيان، تنهنڪري مان شروع ڪريان ٿو 2 GB سان ۽ پوءِ ڏسو.

غير مختص ڪيل جڳهه حجم گروپ ۾ آزاد رهندي ۽ هميشه بعد ۾ استعمال ڪري سگهجي ٿي.

LVM

سڀ LVM ۾ /boot کان سواءِ ٻيون ڀاڱا ٺاهڻ سمجھ ۾ اچي ٿو. ها، سوپ سميت. ها، سڀني مشوري جي مطابق، ادل ڊسڪ جي شروعات ۾ هجڻ گهرجي، پر LVM جي صورت ۾ ان جي جڳهه کي اصول ۾ طئي نه ٿو ڪري سگهجي. پر جيئن مون مٿي لکيو، توهان جو سسٽم نه گهرجي swap استعمال ڪريو بلڪل. تنهن ڪري، اهو مسئلو ناهي ته هو ڪٿي آهي. خير، اسان '95 ۾ نه رهندا آهيون، ايمانداري سان!

وڌيڪ، LVM ۾ ڪيترائي بنيادي ادارا آھن جن سان توھان کي رھڻ جي ضرورت آھي:

  • جسماني مقدار
  • حجم گروپ
  • منطقي مقدار

جسماني حجم گروپن ۾ گڏيل آهن، ۽ هر جسماني حجم صرف هڪ گروپ ۾ ٿي سگهي ٿو، ۽ هڪ گروپ ڪيترن ئي جسماني حجمن تي واقع ٿي سگهي ٿو.
۽ منطقي حجم هر هڪ گروپ ۾ آهن.

پر... لعنت، اها وري 21 صدي آهي. ۽ سرور مجازي آهن. اهو انهن تي لاڳو ڪرڻ جو ڪو به احساس ناهي ساڳيو ميڪانيزم جيڪي جسماني ماڻهن تي لاڳو ڪيا ويا آهن. ۽ ورچوئل وارن لاءِ اهو ضروري آهي ته سسٽم کان الڳ ڊيٽا هجي! اهو تمام ضروري آهي، خاص طور تي ڊيٽا کي ڪنهن ٻئي ورچوئل مشين ۾ جلدي مٽائڻ جي صلاحيت لاءِ (مثال طور، جڏهن نئين او ايس تي سوئچ ڪرڻ وقت) ۽ عام طور تي هر قسم جي مفيد شين لاءِ (مثال طور هائپر وائزر ٽولز استعمال ڪندي پارٽيشن ذريعي الڳ بيڪ اپ، مثال طور) . تنهن ڪري، هڪ حجم گروپ سسٽم لاء استعمال ڪيو ويندو آهي ۽ لازمي طور تي ٻيو ڊيٽا لاء استعمال ڪيو ويندو آهي! هي منطقي تقسيم زندگي ۾ تمام گهڻو مدد ڪري ٿو!

جيڪڏهن توهان ورچوئل مشين ٺاهڻ وقت صرف هڪ ورچوئل هارڊ ڊسڪ ٺاهيو، اهو آهي جتي ترتيب ختم ٿئي ٿي. ۽ جيڪڏهن ٻه آهن، ته پوءِ ٻئي کي نشان نه لڳايو اڃا تائين.

اچو ته انسٽاليشن شروع ڪريون.

پوسٽ لڳائڻ

تنهن ڪري، نئين نصب ٿيل سسٽم آخرڪار بوٽ ڪيو. پهرين شيء توهان کي چيڪ ڪرڻ جي ضرورت آهي انٽرنيٽ آهي.

ping ya.ru

ڪو جواب آهي؟ - زبردست، پريس ڪريو Ctrl-C.
جيڪڏهن نه، وڃو هڪ نيٽ ورڪ قائم ڪريو، ان کان سواء ڪا به زندگي ناهي، پر اهو نه آهي جيڪو منهنجو مضمون آهي.

هاڻي جيڪڏهن اسان روٽ هيٺ نه آهيون، روٽ هيٺ وڃو، ڇاڪاڻ ته ٽائپنگ اهڙيون sudo سان گڏ حڪمن جو تعداد ذاتي طور تي مون کي ٽوڙيو (۽ شايد غير جانبدار منتظم مون کي معاف ڪن):

sudo -i

ھاڻي پھريون ڪم جيڪو اسان ڪندا آھيو اھو آھي ٽائپ

dnf -y update

۽ جيڪڏهن توهان 2019 ۾ هي مضمون پڙهي رهيا آهيو، گهڻو ڪري ڪجهه به نه ٿيندو، پر اهو هڪ ڪوشش جي لائق هو.

هاڻي اچو ته باقي ڊسڪ کي ترتيب ڏيو

اچو ته چون ٿا ته سسٽم سان ورهاڱي xvda هئي، پوء ڊيٽا ڊسڪ xvdb ٿي ويندي. ٺيڪ.

گهڻيون صلاحون شروع ٿينديون ”چلو fdisk ۽ هڪ ورهاڱو ٺاهيو...“

سو هي آهي غلط!

مان ان کي ٻيهر چوندس ڇو ته اهو تمام ضروري آهي! انهي حالت ۾، LVM سان ڪم ڪرڻ، جيڪو هڪ پوري ورچوئل ڊسڪ تي قبضو ڪري ٿو، ان تي ورهاڱي ٺاهڻ نقصانڪار آهي! هن جملي ۾ هر لفظ اهم آهي. جيڪڏهن اسان LVM کان سواء ڪم ڪريون ٿا، اسان کي ضرورت آهي. جيڪڏهن اسان وٽ ڊسڪ تي سسٽم ۽ ڊيٽا آهي، اسان کي ان جي ضرورت آهي. جيڪڏهن ڪنهن سبب لاءِ اسان کي اڌ ڊسڪ خالي ڇڏڻو پوندو، اسان کي به گهرجي. پر عام طور تي اهي سڀئي مفروضا خالص نظرياتي آهن. ڇو ته جيڪڏهن اسان موجوده ورهاڱي ۾ جاء شامل ڪرڻ جو فيصلو ڪيو، ته اهو ڪرڻ جو آسان طريقو هن ترتيب سان آهي. ۽ انتظاميه جي آسانيءَ سان ٻين ڪيترين ئي شين کان وڌيڪ آهي ته اسان مقصد سان هن ترتيب ڏانهن وڌي رهيا آهيون.

۽ سهولت اها آهي ته جيڪڏهن توهان ڊيٽا ورهاڱي کي وڌائڻ چاهيو ٿا، ته توهان صرف ورچوئل ورچوئل پارٽيشن ۾ اسپيس شامل ڪريو، پوءِ vgextend استعمال ڪندي گروپ کي وڌايو ۽ بس! نادر ڪيسن ۾، ٻيو ڪجهه گهربل هجي، پر گهٽ ۾ گهٽ توهان کي شروع ۾ منطقي حجم وڌائڻ جي ضرورت نه هوندي، جيڪو اڳ ۾ ئي سٺو آهي. ٻي صورت ۾، ان حجم کي وڌائڻ لاءِ، اھي سفارش ڪن ٿا ته پھريائين موجوده کي ڊاھيو، ۽ پوءِ مٿي تي ھڪڙو نئون ٺاھيو... جيڪو تمام سٺو نه ٿو لڳي ۽ لائيو ڪري نٿو سگھجي، پر توسيع ان منظرنامي جي مطابق ٿي سگھي ٿي جنھن جو مون اشارو ڪيو آھي. ورهاڱي کي غير نصب ڪرڻ کان سواءِ ”اُڏام تي“ ڪيو ويو.

تنهن ڪري، اسان هڪ جسماني حجم ٺاهيو، پوء هڪ حجم گروپ جنهن ۾ اهو شامل آهي، ۽ پوء اسان جي سرور لاء هڪ ورهاڱي:

pvcreate /dev/xvdb
vgcreate data /dev/xvdb
lvcreate -n www -L40G data
mke2fs -t ext4 /dev/mapper/data-www

هتي، وڏي اکر جي بدران "L" (۽ GB ۾ سائيز)، توهان هڪ ننڍڙو بيان ڪري سگهو ٿا، ۽ پوء هڪ مطلق سائيز جي بدران، هڪ نسبتي بيان ڪريو، مثال طور، اڌ ۾ في الحال خالي جاء استعمال ڪرڻ لاء. هڪ حجم گروپ، توهان کي وضاحت ڪرڻ جي ضرورت آهي "-l +50٪ مفت"

۽ آخري حڪم ext4 فائل سسٽم ۾ ورهاڱي کي فارميٽ ڪري ٿو (جيڪو اڃا تائين، منهنجي تجربي ۾، سڀ کان وڏي استحڪام ڏيکاري ٿو جڏهن ته هر شيء جي ڀڃڪڙي آهي، تنهنڪري مان ان کي ترجيح ڏيان ٿو).

هاڻي اسان ورهاڱي کي صحيح جاء تي نصب ڪيو. هن کي ڪرڻ لاء، صحيح لائن شامل ڪريو /etc/fstab:

/dev/mapper/data-www    /var/www                ext4    defaults        1 2

۽ اسان ڊائل ڪيو

mount /var/www

جيڪڏهن ڪا غلطي ٿئي ٿي، الارم کي آواز ڏيو! ڇاڪاڻ ته هن جو مطلب آهي ته اسان وٽ هڪ غلطي آهي /etc/fstab. ۽ اهو ايندڙ ريبوٽ تي اسان وٽ تمام وڏا مسئلا هوندا. سسٽم شايد بوٽ نه ٿي سگھي، جيڪو اڪثر ڪري بادل خدمتن لاء تمام اداس آهي. تنهن ڪري، اهو ضروري آهي ته يا ته فوري طور تي شامل ڪيل آخري لائن کي درست ڪريو، يا ان کي مڪمل طور تي حذف ڪريو! ان ڪري اسان مائونٽ ڪمانڊ کي دستي طور تي نه لکيو آهي - پوءِ اسان کي اهڙو بهترين موقعو نه ملي ها ته فوري طور تي ترتيب چيڪ ڪرڻ جو.

هاڻي اسان اصل ۾ هر شي کي انسٽال ڪريون ٿا جيڪو اسان چاهيون ٿا ۽ ويب لاءِ بندرگاهن کي کوليو:

dnf groupinstall "Development Tools"
dnf -y install httpd @nodejs @redis php
firewall-cmd --add-service http --permanent
firewall-cmd --add-service https --permanent

جيڪڏھن توھان چاھيو ته توھان ھتي ھڪڙو ڊيٽابيس پڻ رکي سگھو ٿا، پر ذاتي طور تي مان ڪوشش ڪريان ٿو ته ان کي ويب سرور کان الڳ رکون. جيتوڻيڪ هن کي ويجهو رکڻ تيز آهي، ها. مجازي نيٽ ورڪ اڊاپٽر جي رفتار عام طور تي گيگاابٽ جي ڀرسان آهي، ۽ جڏهن ساڳئي مشين تي ڪم ڪري رهيا آهن، ڪالون تقريبا فوري طور تي ٿينديون آهن. پر اهو گهٽ محفوظ آهي. ڪنهن کان وڌيڪ اهم ڇا آهي؟

ھاڻي اسان پيراميٽر کي ترتيب ڏيڻ واري فائل ۾ شامل ڪيو (اسين ھڪڙو نئون ٺاھيو ٿا، CentOS جو جديد نظريو ھن طرح آھي)

echo "vm.overcommit_memory = 1"> /etc/sysctl.d/98-sysctl.conf

اسان سرور کي ريبوٽ ڪيو.
تبصرن ۾، مون کي سي لينڪس کي بند ڪرڻ جي صلاح ڏيڻ تي ڪاوڙجي وئي، تنهنڪري مان پاڻ کي درست ڪندس ۽ ان حقيقت بابت لکندس ته ان کان پوء توهان کي SeLinux ترتيب ڏيڻ لاء ياد رکڻ جي ضرورت آهي.
حقيقت ۾، منافعو! 🙂

جو ذريعو: www.habr.com

تبصرو شامل ڪريو