GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Cos'è lo stack LAMP?

Introduzione

Gli stack di soluzioni sono insiemi di singoli componenti che creano un ambiente completo per lo sviluppo delle applicazioni. I componenti sono generalmente sviluppati in modo indipendente, ma il loro frequente utilizzo combinato e la compatibilità li qualificano per diventare uno stack.

Applicazioni diverse richiedono stack diversi. Ad esempio, gli sviluppatori hanno bisogno di un sistema operativo, un server web, un software di gestione dei database e un linguaggio di programmazione per creare un'applicazione web.

In questo articolo imparerai cos'è lo stack LAMP, come funziona e i suoi vantaggi e svantaggi.

Cos'è Stack LAMP?

La pila LAMP è un popolare stack di soluzioni open source utilizzato principalmente nello sviluppo web.

LAMP è costituito da quattro componenti necessari per creare un ambiente di sviluppo web completamente funzionale. Le prime lettere dei nomi dei componenti compongono l'acronimo LAMP:

  • Linux è un sistema operativo utilizzato per eseguire il resto dei componenti.
  • Apache Server HTTP è un software server web utilizzato per servire pagine web statiche.
  • MySQL è un sistema di gestione di database relazionali utilizzato per creare e gestire database web, ma anche per data warehousing, application logging, e-commerce, ecc.
  • PHP, Perl e Python sono linguaggi di programmazione utilizzati per creare applicazioni web.

Ogni componente rappresenta uno strato essenziale della pila. Insieme, i componenti vengono utilizzati per creare siti Web dinamici basati su database.

L'illustrazione seguente mostra come si impilano i livelli:

Architettura Stack LAMP

Linux

Linux è il livello del sistema operativo e la spina dorsale dello stack LAMP. La natura flessibile e personalizzabile di Linux, unita al fatto che è open-source, lo rendono una soluzione OS popolare per l'esecuzione del resto dei componenti LAMP.

Rispetto a SQL, ASP.NET e ASP, che funzionano in modo più efficiente su Windows, PHP e MySQL sono ottimizzati per fornire i migliori risultati su Linux. Questa compatibilità li rende adatti allo stack.

Apache

Apache HTTP Server è un popolare software per server Web che viene eseguito sul sistema operativo Linux nello stack LAMP. Il ruolo del server web è elaborare le richieste e trasmettere informazioni attraverso Internet, utilizzando HTTP .

Con i suoi Moduli di elaborazione multipla , Apache può essere configurato come server basato su processi e thread. L'architettura modulare del server supporta funzionalità come la gestione del protocollo modulare.

Apache è anche noto per i suoi filtri , processi applicati ai dati che vengono gestiti dal server. Sia il contenuto statico che quello dinamico possono essere crittografati, scansionati alla ricerca di virus e compressi utilizzando i filtri.

Un'alternativa sempre più popolare ad Apache è NGINX, un server web la cui popolarità è in continuo aumento dal 2008. Sebbene Apache e NGINX siano entrambi server capaci, gli utenti ne preferiranno uno a seconda dello scenario di utilizzo, del tipo di contenuto e delle opzioni di hosting disponibili.

NGINX è considerata una scelta migliore per il contenuto statico e c'è una piccola differenza di prestazioni tra i due quando si tratta di contenuto dinamico. Inoltre, Apache è comunemente utilizzato dagli utenti di hosting condiviso, mentre NGINX è utilizzato principalmente per server privati ​​virtuali, hosting dedicato o contenitori di cluster.

MySQL

MySQL è un sistema di gestione di database che supporta SQL e tabelle relazionali, il che lo rende una buona scelta per la creazione e la gestione di database dinamici a livello aziendale.

MySQL è compatibile con più piattaforme. Questa caratteristica lo qualifica a far parte dello stack di sviluppo Web come LAMP poiché le applicazioni Web in genere prendono di mira più sistemi operativi.

Uno dei principali svantaggi di MySQL, soprattutto rispetto a soluzioni non relazionali come MongoDB, è che si ridimensiona solo verticalmente. Dato che è anche inefficiente nella gestione di database di grandi dimensioni, l'utilizzo di MySQL in progetti che prevedono molto traffico richiede un'attenta pianificazione.

MariaDB è un altro sistema di gestione di database relazionali che può essere parte della piattaforma LAMP. Sostiene di essere completamente compatibile con MySQL, consentendo agli utenti di trasferire il proprio database senza complicazioni o perdite.

PHP

PHP (Hypertext Preprocessor) è un linguaggio di programmazione che combina tutti gli elementi dello stack LAMP e consente a siti Web e applicazioni Web di funzionare in modo efficiente. Quando un visitatore apre la pagina web, il server elabora i comandi PHP e invia i risultati al browser del visitatore.

PHP è il quarto livello dello stack originale perché interagisce bene con MySQL. È comunemente usato per lo sviluppo web perché è un linguaggio digitato dinamicamente e può essere incorporato in HTML, rendendolo facile e veloce da usare.

La P nello stack LAMP l'acronimo può anche riferirsi ad altri due linguaggi di programmazione:Perl o Python . Tutti e tre sono strumenti dinamici semplici ma utili per creare ambienti in cui le applicazioni possono essere sviluppate con successo.

A cosa serve lo stack LAMP?

Lo stack LAMP viene utilizzato per creare e distribuire applicazioni basate sul Web. La sua flessibilità ed efficienza consentono agli sviluppatori più piccoli di competere con soluzioni di sviluppo software commerciali.

I quattro componenti di LAMP sono stati scelti come soluzioni ottimali per gli sviluppatori che desiderano ospitare, servire e gestire contenuti basati sul Web. Forniscono un percorso per l'accesso a contenuti, software e altri strumenti basati sul Web.

Vantaggi e svantaggi della pila LAMP

Vantaggi

  1. LAMP è open source. Il codice sorgente del software è condiviso e disponibile alle persone per apportare modifiche e miglioramenti, migliorandone le prestazioni complessive.
  2. È facilmente personalizzabile. Gli utenti possono sostituire ogni componente con un'altra soluzione open source per soddisfare le esigenze della particolare applicazione.
  3. È facile trovare supporto a causa delle dimensioni della community LAMP.
  4. È uno stack maturo facile da configurare.

Svantaggi

  1. Non supporta sistemi operativi diversi da Linux.
  2. La proprietà relazionale di MySQL rende l'intero stack LAMP meno efficiente e flessibile rispetto ai suoi concorrenti che utilizzano soluzioni non relazionali.
  3. Apache può incorrere in problemi di prestazioni con carichi di lavoro pesanti.
  4. Il passaggio dalla codifica in Python a PHP sul lato server e l'utilizzo di JavaScript sul lato client può interrompere il flusso di lavoro di sviluppo.

Alternative allo stack LAMP

Le alternative open source sono:

  • MEDIA (MongoDB, Express, Angular, Node.js)
  • LEMP (Linux, NGINX, MySQL/MariaDB, PHP/Perl/Python)
  • LAPP (Linux, Apache, PostgreSQL, PHP)
  • SALTO (Linux, Eucalyptus, AppScale, Python)
  • LLMP (Linux, Lighttpd, MySQL/MariaDB, PHP/Perl/Python)
  • XAMPP (Multipiattaforma, Apache, MariaDB, PHP, Perl)

Le alternative non open source includono:

  • WAMP (Windows, Apache, MySQL/MariaDB, PHP/Perl/Python)
  • WIMP (Windows, Internet Information Services, MySQL/MariaDB, PHP/Perl/Python)
  • MAMP (macOS, Apache, MySQL/MariaDB, PHP/Perl/Python)

Ubuntu
  1. Che cos'è il Web 3.0?

  2. Che cos'è l'hosting condiviso come servizio di hosting Web?

  3. Configura vhost su uno stack LAMP

  4. Installa uno stack LAMP su Debian 10

  5. Cosa fa ulimit -s illimitato?

Installa WordPress con Stack LAMP su Ubuntu 20.04

Come installare Linux, Apache, MariaDB, PHP (LAMP Stack) su Linux Mint 19 / Linux Mint 18

Come installare lo stack LAMP su Ubuntu 16.04

Come installare lo stack LAMP su Ubuntu 17.10

Come installare lo stack LAMP su Windows 10 WSL

Che cos'è:Framework Javascript:un'introduzione