LEMP è un'ottima alternativa ai tradizionali server LAMP. Nginx è più leggero e più veloce di Apache in alcune situazioni. Può anche essere configurato per fare altre cose utili, come servire come proxy inverso. Proprio come con LAMP, Debian è un'eccellente piattaforma per i server LEMP. Tutto ciò di cui hai bisogno è disponibile nei repository Debian, quindi è semplice iniziare.
In questo tutorial imparerai:
- Come configurare MariaDB
- Come installare PHP
- Come installare Nginx
- Come configurare Nginx
- Come testare il tuo server
PHPinfo su LEMP su Debian 10.
Requisiti e convenzioni software utilizzati
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Debian 10 Buster |
Software | Nginx, MariaDB e PHP |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Configura MariaDB
Il miglior punto di partenza per configurare il server LEMP è il database. Per questa guida, MaraiDB fungerà da database. Dal momento che è un sostituto drop-in di MySQL, MariaDB è un'opzione eccellente. Prima di poter utilizzare MariaDB per qualsiasi progetto, dovrai configurarlo. Non richiede molto per far funzionare un'app come WordPress, quindi non ci vorrà molto.
Installa MariaDB
Inizia installando effettivamente il server MariaDB.
$ sudo apt install mariadb-server
Imposta il database
Con MariaDB installato, sei pronto per preparare il tuo database per funzionare con le app web. MariaDB ha uno script che ti aiuterà a proteggere automaticamente il tuo server di database, quindi inizia eseguendolo.
$ sudo mysql_secure_installation
Segui le istruzioni nello script. Imposta una password di root, quando ti viene chiesto. Le impostazioni predefinite vanno bene per tutto il resto.
Ora, accedi a MariaDB usando mysql
comando e specificando la root
utente.
# mysql -u root -p
Crea un database per il tuo progetto.
CREATE DATABASE newdb;
Quindi, crea un utente che si connetterà e gestirà il database.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';
Quell'utente avrà bisogno del pieno controllo del database per poter eseguire un'applicazione web. Concedigli tutti i privilegi sul database e le sue tabelle.
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';
Tutto è pronto e pronto per l'uso. Svuota i tuoi privilegi ed esci da MariaDB.
FLUSH PRIVILEGES; \q
Installa PHP
PHP è il prossimo pezzo del puzzle. Non avrai bisogno dell'intero pacchetto PHP di Debian, solo PHP-FPM. Installalo con il modulo MySQL.
$ sudo apt install php-fpm php-mysql
Installa Nginx
Quasi tutto è a posto. Devi solo configurare il server web, Nginx. Per iniziare, installa Nginx sul tuo sistema dai repository Debian.
$ sudo apt install nginx
Configura Nginx
Nginx è un potente server web e offre un sacco di opzioni. Ciò significa anche che sono necessarie molte configurazioni per farlo funzionare esattamente come desideri. Questa guida ti fornirà una configurazione di lavoro di base, ma puoi fare molto di più con Nginx.
Le configurazioni del sito Nginx sono archiviate in /etc/nginx/sites-available
e collegato a /etc/nginx/sites-enabled
. Crea un nuovo file per la configurazione del tuo server in /etc/nginx/sites-available
e aprilo nel tuo editor di testo.
Inizia creando un blocco server per dire a Nginx che si tratta di una nuova configurazione del sito.
server { }
Il resto della tua configurazione andrà in quel blocco. Quindi, aggiungi gli indirizzi di ascolto. Questi sono i numeri di porta seguiti da importanti attributi del tuo sito. Se questo sarà il tuo unico sito o quello predefinito, aggiungi default_server
dopo il numero di porta.
server { listen 80 default_server; listen [::]:80 default_server; }
Aggiungi nella cartella principale web in cui desideri inserire il tuo sito. /var/www/html
è la solita impostazione predefinita. Segui ciò facendo conoscere a Nginx il nome dell'indice del tuo sito, meglio noto come home page.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; }
Ora aggiungi il nome di dominio del tuo sito come server_name
. Se questo è solo un server locale, usa _
al posto di un dominio.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; }
Il prossimo blocco di configurazione dice a Nginx di verificare la presenza di file corrispondenti all'indirizzo web corrente.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } }Configurazione Nginx per LEMP su Debian 10.
Infine, quest'ultimo blocco dice a Nginx di passare i file PHP a PHP-FPM. È lì che verrà svolto il grosso del lavoro.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; } }
Quando hai finito, salva la configurazione ed esci. Ora collegalo a sites-enabled
.
$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site
Quindi, riavvia il server per abilitare il sito.
$ sudo systemctl restart nginx
Testa il tuo server
Il modo più semplice per assicurarsi che il tuo server funzioni correttamente è creare un nuovo file PHP nella tua radice web per eseguire del codice PHP. Crea index.php
su /var/www/html/
e aprilo con il tuo editor di testo. Inserisci la seguente riga di codice nel file e salvalo.
<?php phpinfo(); ?>
Apri il browser e accedi al tuo server. Dovresti vedere una tabella di informazioni PHP sul tuo server. Se lo fai, il tuo server funziona normalmente ed è pronto per la tua applicazione PHP, come WordPress.
Conclusione
Da lì, puoi fare qualsiasi cosa. La configurazione del server rimarrà al suo posto e tutto dovrebbe rimanere funzionante, a meno che non lo modifichi. Puoi anche aggiungere più siti allo stesso server Nginx con configurazioni simili. Basta cambiare il server_name
per puntare a un dominio diverso.