LEMP è uno stack popolare che comprende software open source che viene utilizzato collettivamente per ospitare e servire applicazioni Web, sia in produzione che in qualsiasi fase del ciclo di sviluppo.
La terminologia LEMP è l'acronimo di Linux, Nginx (pronunciato come Motore X, da cui la E) che è un browser web, Maria DB o MySQL – banca dati, e PHP per l'elaborazione di contenuti dinamici). LEMP stack è comunemente utilizzato per ospitare applicazioni Web e siti Web ad alto traffico e altamente scalabili.
In questa guida imparerai come installare lo stack LEMP su Rocky Linux 8.4.
Prima di iniziare a installare il LEMP stack, assicurati di avere i seguenti requisiti in atto.
Iniziamo…
Il primo passo è installare il primo componente del LEMP pila che è il Nginx server web. Innanzitutto, aggiorna i pacchetti.
$ sudo dnf update -y.
Al termine dell'aggiornamento, installa
Nginx eseguendo il seguente comando. Questo installa Nginx insieme ad altre dipendenze richieste dal server web.$ sudo dnf install nginx
Una volta che Nginx è a posto, abilitalo per l'avvio all'avvio e avvia il demone Nginx.
$ sudo systemctl abilita nginx $ sudo systemctl avvia nginx
Per confermare che il server web è in esecuzione, esegui il comando:
$ sudo systemctl status nginx.
Dall'output, possiamo concludere che il server web è attivo e funzionante.
Se sei abbastanza curioso, puoi controllare la versione di Nginx come segue. L'output indica che stiamo eseguendo Nginx 1.14.1.
$ nginx -v versione nginx: nginx/1.14.1
Inoltre, puoi confermare che il browser funziona navigando nell'URL mostrato. Questo mostrerà la pagina di benvenuto di Nginx predefinita che indica che tutto va bene.
http://server-ip o nome di dominio.
Se hai problemi a visualizzare la pagina, prendi in considerazione l'apertura della porta 80 o l'abilitazione del traffico HTTP sul firewall.
$ sudo firewall-cmd --zone=public --add-service=http --permanent
Quindi ricaricare il firewall e ricaricare la pagina.
$ sudo firewall-cmd --reload.
Per questa guida, installeremo il Maria DB Banca dati. Ciò è dovuto alle prestazioni ottimizzate e alla ricchezza di motori di archiviazione forniti che lo rendono molto più superiore a MySQL.
Per installare il Maria DB server di database, eseguire il comando:
$ sudo dnf install mariadb-server mariadb.
Una volta fatto, abilita e avvia Maria DB come mostrato.
$ sudo systemctl abilita mariadb. $ sudo systemctl start mariadb.
Quindi verifica il suo stato.
$ sudo systemctl status mariadb.
Le impostazioni predefinite per Maria DB non sono abbastanza sicuri e il tuo database può essere facilmente violato. Come precauzione per scoraggiare gli intrusi al livello più elementare, esegui lo script di seguito.
$ sudo mysql_secure_installation.
Assicurati di impostare la password di root.
Per le restanti richieste, digita semplicemente 'S'
per rimuovere gli utenti anonimi, negare l'accesso root remoto, rimuovere il database di prova e infine salvare le modifiche apportate.
Per accedere al server del database, eseguire il comando:
$ sudo mysql -u root -p.
Fornisci la password e premi INVIO.
L'ultimo componente da installare è PHP attraverso PHP-FPM, che sta per FastCGI Process Manager. Questo è un processore per PHP efficiente e altamente avanzato che fornisce funzionalità che garantiscono prestazioni ottimali e sicurezza per i siti Web ad alto traffico.
Per iniziare, installeremo il Remi repository che è un repository gratuito di terze parti che fornisce le ultime versioni di PHP.
Per abilitare il Remi repository, eseguire il comando:
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm.
una volta che Remi repository è abilitato, controlla l'elenco dei moduli PHP che sono ospitati utilizzando il comando mostrato.
$ sudo dnf module list php.
Dall'output, possiamo vedere che la versione predefinita è 7.2 – con il cartellino [D]
. Tuttavia, installeremo l'ultimo modulo che è Remi 8.0.
Pertanto, ripristina i moduli PHP predefiniti e abilita l'ultimo modulo PHP Remi.
$ sudo dnf module list reset php. $ sudo dnf module enable php: remi-8.0.
Quindi, aggiorna il sistema e installa PHP e PHP-FPM insieme alle estensioni PHP di tua preferenza.
$ sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache.
Una volta completata l'installazione, abilita e avvia PHP-FPM come mostrato.
$ sudo systemctl abilita php-fpm. $ sudo systemctl start php-fpm.
Quindi, verifica lo stato di esecuzione di PHP-FPM.
$ sudo systemctl status php-fpm.
Normalmente, PHP-FPM corre come Apache utente, ma dal momento che stiamo usando Nginx, dobbiamo impostarlo su Nginx. Quindi, apri il seguente file di configurazione.
$ sudo vim /etc/php-fpm.d/www.conf.
Imposta l'utente e il gruppo su Nginx.
utente = nginx. Gruppo = nginx.
Successivamente, ricarica il demone PHP-FPM.
$ sudo systemctl ricarica php-fpm.
Per confermare che abbiamo installato l'ultima versione di PHP, esegui il comando.
$php -v.
Un altro modo elegante per testare PHP è creare un semplice file PHP e posizionarlo nella directory webroot che si trova in /usr/share/nginx/html. Quindi, crea un semplice info.php file nel /usr/share/nginx/html directory webroot.
$ sudo vim /usr/share/nginx/html/info.php.
Aggiungi il seguente contenuto e salva il file.
php phpinfo();
Per effettuare le modifiche, ricaricare il server web Nginx.
$ sudo systemctl riavvia nginx.
Infine, accedi al seguente URL.
http://server-ip/info.php.
Verrà visualizzata una pagina web con informazioni dettagliate sulla versione PHP installata insieme ad altre estensioni PHP.
A questo punto il nostro LEMP l'installazione è completa. Nel passaggio successivo, ospiteremo un sito di esempio configurando un blocco server Nginx.
Un blocco server consente agli amministratori di ospitare più siti Web su un server definendo directory radice dei documenti del sito diverse. Queste sono le directory che contengono i file del sito web.
Qui creeremo un singolo file di blocco del server Nginx per ospitare un sito Web di esempio.
Per prima cosa, crea la directory dei documenti del sito che conterrà i dati del sito che saranno disponibili per i visitatori del sito. Supponiamo di avere un dominio chiamato esempio.com. Crea la directory del dominio del sito come segue. Assicurati di sostituire esempio.com con il nome di dominio completo o il dominio registrato del tuo sito.
$ sudo mkdir -p /var/www/example.com/html.
La struttura della directory del dominio è ora impostata per ospitare i file del sito. Attualmente, è l'utente root che possiede i file. Dobbiamo impostare la proprietà in modo tale che sia l'utente normale a possedere il file.
Per modificare la proprietà dei file in base all'utente attualmente connesso, utilizzare il pulsante comando chown.
$ sudo chown -R $USER:$USER /var/www/example.com/html.
Il $UTENTE
La variabile prende il valore dell'utente attualmente connesso e concede all'utente la proprietà dei file html e delle sottodirectory. Inoltre, concedere l'autorizzazione di lettura alla directory principale Web generale in modo che i visitatori del sito possano accedere alle pagine del sito.
$ sudo chmod -R 755 /var/www.
La directory del sito è ora ben configurata per servire le pagine web del sito.
Creiamo ora un sito di prova di esempio. Creeremo una base molto semplice index.html file nella directory html del dominio.
$ sudo vim /var/www/example.com/html/index.html.
Incolla il contenuto qui sotto. Come puoi vedere, è abbastanza semplice in quanto lo stiamo usando solo a scopo di test.
Benvenuto su Esempio.com! Successo! Il blocco del server è attivo!
Salva ed esci dal file HTML.
Un file di blocco del server è un file che contiene la configurazione del sito. Spiega come il server web Nginx risponde alle richieste dei visitatori del sito. Inizieremo creando due directory:
Pertanto, creare le directory come segue:
$ sudo mkdir /etc/nginx/sites-available. $ sudo mkdir /etc/nginx/sites-enabled.
Successivamente, modifica il file di configurazione principale di Nginx.
$ sudo mkdir /etc/nginx/nginx.conf.
Incolla le seguenti righe. La prima riga specifica il percorso della directory contenente i file di configurazione aggiuntivi. La seconda riga aumenta la memoria allocata per l'analisi dei nomi di dominio.
includi /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
Salva ed esci.
Quindi, crea un file di blocco del server.
$ sudo vim /etc/nginx/sites-available/example.com.conf.
Incolla il contenuto qui sotto. Sostituire esempio.com con il tuo nome di dominio completo (FQDN) o l'indirizzo IP del server.
server { ascolta 80; nome del server esempio.com www.esempio.com; posizione / { radice /var/www/esempio.com/html; indice index.html index.htm; try_files $uri $uri/ =404; } pagina_errore 500 502 503 504 /50x.html; posizione = /50x.html { root /usr/share/nginx/html; } }
Salva ed esci dal file.
Infine, dobbiamo abilitare il file di blocco del server. Per fare ciò, creeremo un collegamento simbolico per il file di blocco del server alla directory abilitata per i siti.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf.
Quindi riavviare Nginx per apportare le modifiche.
$ sudo systemctl riavvia nginx.
Per testare la configurazione avvia il tuo browser e visita il dominio del tuo sito
http://example.com.
Questo dovrebbe visualizzare il sito del blocco server come configurato nel passaggio 3.
E questo lo chiude. In questa guida, ti abbiamo guidato attraverso l'installazione del LEMP impilare Rocky Linux 8 e ha fatto un ulteriore passo avanti per creare e configurare un file di blocco del server in cui abbiamo ospitato un sito Web personalizzato.