LEMP¶
In dit artikel
Informatie
LEMP is een open-source webontwikkelingstechnologie-stack die het Linux-besturingssysteem, de NGINX-webserver (uitgesproken als "engine-x"), de MySQL-database en de PHP-scripttaal omvat.
- Linux biedt hosting en serverbeheer.
- NGINX fungeert als een hoogpresterende webserver en proxyserver.
- MySQL is een relationele database voor het opslaan en verwerken van gegevens.
- PHP is een programmeertaal die wordt gebruikt voor het maken van dynamische webapplicaties.
LEMP: Kernfuncties¶
- Gecontaineriseerde oplossing: De LEMP-stack is beschikbaar in zowel klassieke implementatie als gecontaineriseerde oplossing. Een Docker-container biedt isolatie voor componenten en hun afhankelijkheden, waardoor een identieke omgeving voor ontwikkeling en productie wordt gecreëerd.
- Hoge prestaties: De gebeurtenisgestuurde architectuur van NGINX stelt deze in staat om effectief duizenden gelijktijdige verbindingen aan te kunnen. Geoptimaliseerde PHP-uitvoering via FastCGI zorgt voor snelle verwerking van dynamische inhoud, en geavanceerd cachen van statische bestanden vermindert de serverbelasting.
- Flexibele configuratie: LEMP biedt de mogelijkheid om elk component te configureren. NGINX ondersteunt complexe routeringsschema's, load balancing en caching. MySQL stelt fijnafstelling van prestatie- en beveiligingsparameters toe. PHP kan worden geconfigureerd voor specifieke applicatiebehoeften met de optie om benodigde extensies op te nemen en geheugengebruik te optimaliseren.
- Veelzijdigheid: PHP 8.3 wordt geleverd met een set functies voor moderne webontwikkeling. Het ondersteunt het werken met verschillende gegevensformaten, encryptie en netwerkprotocollen. MySQL biedt betrouwbare gegevensopslag met ondersteuning voor transacties, complexe queries en replicatie. NGINX biedt geavanceerde mogelijkheden voor het routeren van verzoeken, het beëindigen van SSL en het verwerken van mediainhoud.
- Beveiliging: LEMP omvat een meerlagig beveiligingssysteem. NGINX beschermt tegen DDoS-aanvallen en andere webbedreigingen. MySQL biedt flexibel beheer van gebruikersrechten en gegevensencryptie. PHP is geconfigureerd met moderne beveiligingsvereisten in gedachten. Containerisatie biedt een extra niveau van isolatie, waardoor kwetsbaarheden in het ene component geen invloed hebben op andere.
- Schaalbaarheid: De LEMP-architectuur stelt efficiënte schaling van applicaties toe. NGINX ondersteunt loadverdeling over meerdere servers. MySQL biedt gegevensreplicatie en sharding voor grote datasets. PHP-FPM stelt nauwkeurige controle over het aantal workerprocessen toe. Containerisatie vereenvoudigt het implementeren van extra applicatie-exemplaren naarmate de belasting toeneemt.
- Gemakkelijk bijwerken: Het bijwerken van LEMP-componenten kan onafhankelijk worden gedaan. NGINX en PHP ondersteunen updates zonder onderbreking van de service. MySQL biedt tools voor veilige database-updates. Met containers is het mogelijk om updates in een geïsoleerde omgeving te testen voordat ze in productie worden toegepast.
Implementatiefuncties¶
| ID | Softwarenaam | Compatibel OS | VM | BM | VGPU | GPU | Min CPU (Kernen) | Min RAM (GB) | Min HDD/SSD (GB) | Aangepast Domein | Actief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 21 | LEMP | Ubuntu 22.04 | + | + | + | + | 1 | 1 | - | Nee | BESTELLEN |
De stack wordt geïmplementeerd binnen een Docker-container met behulp van het adhocore/lemp:8.3-image. De volgende directories worden gebruikt voor gegevensopslag:
- /root/data voor databasebestanden;
- /root/webroot voor websitebestanden.
Opmerking
Om met MySQL te werken, moet u verbinding maken via de Docker-container, aangezien de MySQL-client niet op het hostsysteem is geïnstalleerd. Gebruik het volgende commando:
Opmerking
Tenzij anders vermeld, installeren we standaard de nieuwste releaseversie van software van de website van de ontwikkelaar of de repositories van het besturingssysteem.
Informatie
De automatisch gegenereerde beschrijving van het serverimplementatieproces is hier beschikbaar.
Aan de slag na implementatie van LEMP¶
Zodra uw bestelling is betaald, ontvangt u een e-mailmelding op het adres dat u tijdens de registratie heeft opgegeven, waarin u wordt geïnformeerd dat uw server klaar is voor gebruik. Deze e-mail bevat uw VPS-IP-adres, inloggegevens en wachtwoord voor verbinding.
Klanten van ons bedrijf beheren hun apparatuur via de server control panel and API — Invapi. U kunt het IP-adres van de server vinden op het tabblad Network. Een gedetailleerde handleiding voor het beheren van netwerkinstellingen is hier beschikbaar.
-
Login en Password voor verbinding met de server via SSH: verstrekt in de e-mailmelding die naar uw geregistreerde e-mailadres wordt verzonden zodra de server klaar is na implementatie van de software. Het wachtwoord voor verbinding met de database is hetzelfde als het wachtwoord voor verbinding met de SSH-server.
-
NGINX:
- De webserver is toegankelijk op poort 88
- Webinhoud wordt geplaatst in de directory
/root/webroot. Om een website te hosten, kopieert u uw bestanden naar deze directory. - Om de werking van de server te testen, maakt u een testbestand aan:
- Toegang:
http://<uw_server_IP>:88/test.html

-
MySQL:
- De database is toegankelijk op poort 3306
- Gegevens worden opgeslagen in
/root/data - Het rootwachtwoord komt overeen met het SSH-toegangswachtwoord voor de server.
- Voor verbinding gebruikt u:
Belangrijk: Verbinding maken met database vanuit PHP
Bij het configureren van webapplicaties (WordPress, Laravel, etc.) gebruikt u als databasehost:
127.0.0.1in plaats vanlocalhostVoorbeeld voor WordPress in wp-config.php:
Het gebruik van
localhostresulteert in de fout:Fatal error: Uncaught mysqli_sql_exception: No such file or directory
Reden: PHP probeert verbinding te maken via Unix-socket, die niet beschikbaar is op het standaardpad in de container. -
PHP 8.3:
- Geïnstalleerd in de container met alle benodigde extensies
- Werkt via FastCGI voor verhoogde prestaties.
- Om de functionaliteit van PHP te controleren, maakt u een info.php-bestand aan in de directory
/root/webroot:

-
Poorten:
- 88: Web (NGINX)
- 3306: MySQL
- 5432: PostgreSQL
Opmerking
Alle commando's voor het werken met de database moeten worden uitgevoerd via de Docker-container met behulp van het docker exec-commando. De container werkt binnen een dedicated netwerk, lemp-net, om isolatie en beveiliging te verbeteren.
Opmerking
Gedetailleerde informatie over het werken met de database is te vinden in de ontwikkelaarsdocumentatie.