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 հաճախորդը տեղակայված չէ հիմնական համակարգում: Օգտագործեք հետևյալ հրամանը.
Նշում
Եթե այլ կերպ նշված չէ, ըստ լռելյայնի մենք տեղակայում ենք ծրագրային ապահովման վերջին թողարկման տարբերակը՝ զարգացուցիչի կայքից կամ օպերացիոն համակարգի պահեստներից:
Տեղեկատվություն
Սերվերի տեղակայման գործընթացի ավտոմատ կերպով ստեղծված նկարագրությունը հասանելի է այստեղ
Սկսել LEMP-ի տեղակայումից հետո¶
Ձեր պատվերի վճարումից հետո դուք կստանաք էլ. փոստի ծանուցում՝ գրանցման ժամանակ նշած հասցեով, որը կտեղեկացնի, որ ձեր սերվերը պատրաստ է օգտագործման: Այս էլ. փոստը կներառի ձեր VPS IP հասցեն, մուտքի անունը և գաղտնաբառը միանալու համար:
Մեր ընկերության հաճախորդները կառավարում են իրենց սարքավորումները սերվերի կառավարման վահանակի և API միջոցով — Invapi: Սերվերի IP հասցեն կարելի է գտնել Network թաբում: Ցանցային կարգավորումների կառավարման մանրամասն ուղեցույցը հասանելի է այստեղ:
-
Login և Password՝ սերվերին SSH-ի միջոցով միանալու համար. տրվում են էլ. փոստի ծանուցման մեջ, որը ուղարկվում է ձեր գրանցված էլ. փոստի հասցեին՝ ծրագրային ապահովման տեղակայումից հետո սերվերի պատրաստ լինելու դեպքում: Տվյալների բազային միանալու գաղտնաբառը նույնն է, ինչ SSH սերվերին միանալու գաղտնաբառը:
-
NGINX.
- Վեբ սերվերը հասանելի է 88-րդ պորտով
- Վեբ բովանդակությունը տեղադրվում է
/root/webrootթղթապանակում: Վեբ կայք տեղակայելու համար պատճենեք ձեր ֆայլերը այս թղթապանակ: - Սերվերի աշխատանքը ստուգելու համար ստեղծեք փորձարարական ֆայլ.
- Հասանելիություն.
http://<your_server_IP>:88/test.html

-
MySQL.
- Տվյալների բազան հասանելի է 3306-րդ պորտով
- Տվյալները պահվում են
/root/data-ում - Root գաղտնաբառը համընկնում է սերվերին SSH մուտքի գաղտնաբառի հետ:
- Միանալու համար օգտագործեք.
Կարևոր. Տվյալների բազային միանալը PHP-ից
Վեբ հավելվածները (WordPress, Laravel և այլն) կարգավորելիս որպես տվյալների բազայի հյուրընկալող օգտագործեք.
127.0.0.1՝localhost-ի փոխարենWordPress-ի օրինակ wp-config.php-ում.
localhost-ի օգտագործումը հանգեցնում է սխալի.Fatal error: Uncaught mysqli_sql_exception: No such file or directory
Պատճառ. PHP-ն փորձում է միանալ Unix socket-ի միջոցով, որը հասանելի չէ լռելյայն ուղղությամբ կոնտեյներում: -
PHP 8.3.
- Տեղակայված է կոնտեյներում բոլոր անհրաժեշտ ընդլայնումներով
- Աշխատում է FastCGI-ի միջոցով՝ ավելի բարձր արդյունավետության համար:
- PHP-ի ֆունկցիոնալությունը ստուգելու համար ստեղծեք info.php ֆայլ
/root/webrootթղթապանակում.

-
Պորտեր.
-
- Վեբ (NGINX)
-
- MySQL
-
- PostgreSQL
-
Նշում
Տվյալների բազայի հետ աշխատելու բոլոր հրամանները պետք է կատարվեն Docker կոնտեյների միջոցով՝ օգտագործելով docker exec հրամանը: Կոնտեյները աշխատում է նվիրված ցանցում՝ lemp-net,՝ մեկուսացումը և անվտանգությունը բարելավելու համար:
Նշում
Տվյալների բազայի հետ աշխատելու մանրամասն տեղեկատվությունը կարելի է գտնել զարգացուցիչի փաստաթղթերում: