Անցնել պարունակությանը

LEMP

Այս հոդվածում

Ուշադրություն

LEMP-ն բաց կոդով վեբ զարգացման տեխնոլոգիական փաթեթ է, որը ներառում է Linux օպերացիոն համակարգը, NGINX վեբ սերվերը (արտասանվում է «ինժին-էքս»), MySQL տվյալների բազան և PHP սկրիպտավորման լեզուն:

  • Linux-ը ապահովում է հոսթինգ և սերվերի կառավարում:
  • NGINX-ը հանդես է գալիս որպես բարձր արդյունավետության վեբ սերվեր և պրոքսի սերվեր:
  • MySQL-ը հարաբերական տվյալների բազա է՝ տվյալների պահպանման և մշակման համար:
  • PHP-ն ծրագրավորման լեզու է, որն օգտագործվում է դինամիկ վեբ հավելվածներ ստեղծելու համար:

LEMP. Հիմնական հնարավորություններ

  • Կոնտեյներացված լուծում. LEMP փաթեթը հասանելի է թե՛ դասական տեղակայմամբ, թե՛ որպես կոնտեյներացված լուծում: Docker կոնտեյները ապահովում է բաղադրիչների և դրանց կախվածությունների մեկուսացում՝ ստեղծելով նույնական միջավայր զարգացման և արտադրության համար:
  • Բարձր արդյունավետություն. NGINX-ի իրադարձություններով ղեկավարվող ճարտարապետությունը թույլ է տալիս արդյունավետ կերպով կառավարել հազարավոր միաժամանակյա կապեր: FastCGI-ի միջոցով PHP-ի օպտիմալացված կատարումը ապահովում է դինամիկ բովանդակության արագ մշակում, իսկ ստատիկ ֆայլների առաջադեմ կեշիավորումը նվազեցնում է սերվերի բեռը:
  • Գործարկման ճկունություն. LEMP-ն առաջարկում է յուրաքանչյուր բաղադրիչի կարգավորման հնարավորություն: NGINX-ը աջակցում է բարդ ուղղորդման սխեմաների, բեռի հավասարակշռման և կեշիավորման: MySQL-ը թույլ է տալիս մանրակրկիտ կարգավորել արդյունավետության և անվտանգության պարամետրերը: PHP-ն կարելի է կարգավորել կոնկրետ հավելվածի պահանջներին համապատասխան՝ անհրաժեշտ ընդլայնումները ներառելու և հիշողության օգտագործումը օպտիմալացնելու հնարավորությամբ:
  • Բազմաֆունկցիոնալություն. PHP 8.3-ը մատուցվում է ժամանակակից վեբ զարգացման համար նախատեսված հնարավորությունների հավաքածուով: Այն աջակցում է տարբեր տվյալների ֆորմատների, լրացուցիչ և ցանցային արձանագրությունների հետ աշխատելուն: MySQL-ը ապահովում է հուսալի տվյալների պահպանում՝ փոխանցումների, բարդ հարցումների և ռեպլիկացիայի աջակցությամբ: NGINX-ը առաջարկում է առաջադեմ հնարավորություններ՝ հարցումները ուղղորդելու, SSL-ն ավարտելու և մեդիա բովանդակությունը մշակելու համար:
  • Անվտանգություն. LEMP-ն ներառում է բազմաստիճան անվտանգության համակարգ: NGINX-ը պաշտպանում է DDoS հարձակումներից և այլ վեբ սպառնալիքներից: MySQL-ը ապահովում է օգտատերերի լիազորությունների ճկուն կառավարում և տվյալների լրացուցիչ: PHP-ն կարգավորվում է՝ հաշվի առնելով ժամանակակից անվտանգության պահանջները: Կոնտեյներացումը ապահովում է մեկուսացման լրացուցիչ մակարդակ՝ կանխելով, որ մեկ բաղադրիչի խոցելիությունները ազդեն մյուսների վրա:
  • Մասշտաբայնություն. LEMP ճարտարապետությունը թույլ է տալիս արդյունավետ կերպով մասշտաբավորել հավելվածները: NGINX-ը աջակցում է բեռի բաշխումը մի քանի սերվերների միջև: MySQL-ը ապահովում է տվյալների ռեպլիկացիա և sharding մեծ տվյալների հավաքածուների համար: PHP-FPM-ը թույլ է տալիս ճշգրիտ կառավարել աշխատող գործընթացների քանակը: Կոնտեյներացումը պարզեցնում է լրացուցիչ հավելվածի օրինակներ տեղակայելը՝ բեռի աճի դեպքում:
  • Թարմացումների հեշտություն. LEMP բաղադրիչների թարմացումը կարելի է կատարել անկախ: NGINX-ը և PHP-ն աջակցում են թարմացումներին՝ չխաթարելով ծառայության աշխատանքը: MySQL-ը ապահովում է տվյալների բազաների անվտանգ թարմացման գործիքներ: Կոնտեյներների դեպքում հնարավոր է թարմացումները փորձարկել մեկուսացված միջավայրում՝ դրանք արտադրության մեջ կիրառելուց առաջ:

Տեղակայման հնարավորություններ

ID Ծրագրային ապահովման անվանում Համատեղելի ՕՀ VM BM VGPU GPU Նվազագույն CPU (միջուկներ) Նվազագույն RAM (ԳԲ) Նվազագույն HDD/SSD (ԳԲ) Սեփական դոմեն Ակտիվ
21 LEMP Ubuntu 22.04 + + + + 1 1 - Ոչ ՊԱՏՎԻՐԵԼ

Փաթեթը տեղակայվում է Docker կոնտեյների մեջ՝ օգտագործելով adhocore/lemp:8.3 պատկերը: Տվյալների պահպանման համար օգտագործվում են հետևյալ թղթապանակները.

  • /root/data՝ տվյալների բազայի ֆայլերի համար;
  • /root/webroot՝ վեբ կայքի ֆայլերի համար:

Նշում

MySQL-ի հետ աշխատելու համար անհրաժեշտ է միանալ Docker կոնտեյների միջոցով, քանի որ MySQL հաճախորդը տեղակայված չէ հիմնական համակարգում: Օգտագործեք հետևյալ հրամանը.

docker exec -it lemp-stack mysql -u root -p 

Նշում

Եթե այլ կերպ նշված չէ, ըստ լռելյայնի մենք տեղակայում ենք ծրագրային ապահովման վերջին թողարկման տարբերակը՝ զարգացուցիչի կայքից կամ օպերացիոն համակարգի պահեստներից:

Տեղեկատվություն

Սերվերի տեղակայման գործընթացի ավտոմատ կերպով ստեղծված նկարագրությունը հասանելի է այստեղ

Սկսել LEMP-ի տեղակայումից հետո

Ձեր պատվերի վճարումից հետո դուք կստանաք էլ. փոստի ծանուցում՝ գրանցման ժամանակ նշած հասցեով, որը կտեղեկացնի, որ ձեր սերվերը պատրաստ է օգտագործման: Այս էլ. փոստը կներառի ձեր VPS IP հասցեն, մուտքի անունը և գաղտնաբառը միանալու համար:

Մեր ընկերության հաճախորդները կառավարում են իրենց սարքավորումները սերվերի կառավարման վահանակի և API միջոցով — Invapi: Սերվերի IP հասցեն կարելի է գտնել Network թաբում: Ցանցային կարգավորումների կառավարման մանրամասն ուղեցույցը հասանելի է այստեղ:

  • Login և Password՝ սերվերին SSH-ի միջոցով միանալու համար. տրվում են էլ. փոստի ծանուցման մեջ, որը ուղարկվում է ձեր գրանցված էլ. փոստի հասցեին՝ ծրագրային ապահովման տեղակայումից հետո սերվերի պատրաստ լինելու դեպքում: Տվյալների բազային միանալու գաղտնաբառը նույնն է, ինչ SSH սերվերին միանալու գաղտնաբառը:

  • NGINX.

    • Վեբ սերվերը հասանելի է 88-րդ պորտով
    • Վեբ բովանդակությունը տեղադրվում է /root/webroot թղթապանակում: Վեբ կայք տեղակայելու համար պատճենեք ձեր ֆայլերը այս թղթապանակ:
    • Սերվերի աշխատանքը ստուգելու համար ստեղծեք փորձարարական ֆայլ.
      echo "Hello World!" > /root/webroot/test.html 
      
    • Հասանելիություն. http://<your_server_IP>:88/test.html

  • MySQL.

    • Տվյալների բազան հասանելի է 3306-րդ պորտով
    • Տվյալները պահվում են /root/data-ում
    • Root գաղտնաբառը համընկնում է սերվերին SSH մուտքի գաղտնաբառի հետ:
    • Միանալու համար օգտագործեք.
      docker exec -it lemp-stack mysql -u root -p
      

    Կարևոր. Տվյալների բազային միանալը PHP-ից

    Վեբ հավելվածները (WordPress, Laravel և այլն) կարգավորելիս որպես տվյալների բազայի հյուրընկալող օգտագործեք.

    127.0.0.1՝ localhost-ի փոխարեն

    WordPress-ի օրինակ wp-config.php-ում.

    define('DB_HOST', '127.0.0.1');
    

    localhost-ի օգտագործումը հանգեցնում է սխալի. Fatal error: Uncaught mysqli_sql_exception: No such file or directory
    Պատճառ. PHP-ն փորձում է միանալ Unix socket-ի միջոցով, որը հասանելի չէ լռելյայն ուղղությամբ կոնտեյներում:

  • PHP 8.3.

    • Տեղակայված է կոնտեյներում բոլոր անհրաժեշտ ընդլայնումներով
    • Աշխատում է FastCGI-ի միջոցով՝ ավելի բարձր արդյունավետության համար:
    • PHP-ի ֆունկցիոնալությունը ստուգելու համար ստեղծեք info.php ֆայլ /root/webroot թղթապանակում.
      echo "<?php phpinfo(); ?>" > /root/webroot/info.php
      

  • Պորտեր.

      1. Վեբ (NGINX)
      1. MySQL
      1. PostgreSQL

Նշում

Տվյալների բազայի հետ աշխատելու բոլոր հրամանները պետք է կատարվեն Docker կոնտեյների միջոցով՝ օգտագործելով docker exec հրամանը: Կոնտեյները աշխատում է նվիրված ցանցում՝ lemp-net,՝ մեկուսացումը և անվտանգությունը բարելավելու համար:

Նշում

Տվյալների բազայի հետ աշխատելու մանրամասն տեղեկատվությունը կարելի է գտնել զարգացուցիչի փաստաթղթերում:

LEMP-ով սերվեր պատվիրելը API-ի միջոցով

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×