Questo tutorial ti mostrerà come installare Nginx, MariaDB e PHP7.2 (LEMP) su Ubuntu 18.04. Uno stack software è un insieme di strumenti software raggruppati insieme. LEMP sta per Linux, Nginx (Engine-X), MariaDB/MySQL e PHP, tutti open source e gratuiti. È lo stack software più comune che alimenta i siti Web dinamici e le applicazioni Web. Linux è il sistema operativo; Nginx è il server web; MariaDB/MySQL è il server di database e PHP è il linguaggio di scripting lato server responsabile della generazione di pagine Web dinamiche.
Prerequisito
Per seguire questo tutorial, devi avere un sistema operativo Ubuntu 18.04 in esecuzione sul tuo computer locale o su un server remoto. Se stai cercando un VPS (Virtual Private Server), puoi fare clic su questo link speciale per ottenere $ 50 di credito gratuito su DigitalOcean. (Solo per nuovi utenti). Se sei già un utente DigitalOcean, puoi fare clic su questo collegamento speciale per ottenere $ 50 di credito gratuito su Vultr (solo per i nuovi utenti). Senza ulteriori indugi, iniziamo.
Fase 1:aggiorna i pacchetti software
Prima di installare lo stack LEMP, è buona norma aggiornare il repository e i pacchetti software eseguendo i seguenti comandi sul tuo sistema operativo Ubuntu 18.04.
sudo apt update sudo apt upgrade
Fase 2:installa Nginx Web Server
Nginx è un server web ad alte prestazioni e molto popolare in questi giorni. Può anche essere utilizzato come proxy inverso e server di memorizzazione nella cache. Immettere questo comando per installare il server Web Nginx.
sudo apt install nginx
Dopo l'installazione, possiamo abilitare Nginx all'avvio automatico all'avvio di Ubuntu eseguendo il comando seguente.
sudo systemctl enable nginx
Quindi avvia Nginx con questo comando:
sudo systemctl start nginx
Ora controlla il suo stato.
systemctl status nginx
Uscita:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-17 02:20:05 UTC; 2min 56s ago Docs: man:nginx(8) Main PID: 19851 (nginx) Tasks: 2 (limit: 2059) CGroup: /system.slice/nginx.service ├─19851 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─19853 nginx: worker process
"Abilitato ” indica che l'avvio automatico all'avvio è abilitato e possiamo vedere che Nginx è in esecuzione. Si noti che il comando precedente non si chiuderà immediatamente dopo l'esecuzione. Devi premere "q ” per farlo uscire.
Controlla la versione di Nginx.
nginx -v
Uscita:
nginx version: nginx/1.14.0 (Ubuntu)
Ora digita l'indirizzo IP pubblico del tuo server Ubuntu 18.04 nella barra degli indirizzi del browser. Dovresti vedere la pagina Web "Benvenuto in Nginx", il che significa che il server Web Nginx funziona correttamente. Se stai installando LEMP sul tuo computer Ubuntu 18.04 locale, digita 127.0.0.1
o localhost
nella barra degli indirizzi del browser.
Tieni presente che alcuni provider di server cloud potrebbero bloccare tutto il traffico in entrata per impostazione predefinita, quindi se il tuo browser non riesce a connettersi al server web Nginx, potresti dover impostare le regole del firewall nel tuo pannello di controllo.
Infine, dobbiamo creare www-data
(utente Nginx) come proprietario della directory web. Per impostazione predefinita è di proprietà dell'utente root.
sudo chown www-data:www-data /usr/share/nginx/html -R
Fase 3:installa il server di database MariaDB
MariaDB è un sostituto drop-in di MySQL. È stato sviluppato da ex membri del team MySQL preoccupati che Oracle possa trasformare MySQL in un prodotto closed-source. Immettere il comando seguente per installare MariaDB su Ubuntu 18.04.
sudo apt install mariadb-server mariadb-client
Dopo l'installazione, il server MariaDB dovrebbe essere avviato automaticamente. Usa systemctl per verificarne lo stato.
systemctl status mariadb
Uscita:
● mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-17 02:39:57 UTC; 49s ago Main PID: 21595 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 2059) CGroup: /system.slice/mariadb.service └─21595 /usr/sbin/mysqld
Se non è in esecuzione, avvialo con questo comando:
sudo systemctl start mariadb
Per consentire a MariaDB di avviarsi automaticamente all'avvio, esegui
sudo systemctl enable mariadb
Ora esegui lo script di sicurezza post installazione.
sudo mysql_secure_installation
Quando ti chiede di inserire la password di root di MariaDB, premi il tasto Invio poiché la password di root non è ancora impostata. Quindi inserisci y per impostare la password di root per il server MariaDB.
Successivamente, puoi premere Invio per rispondere a tutte le domande rimanenti, che rimuoveranno l'utente anonimo, disabiliteranno l'accesso root remoto e rimuoveranno il database di test. Questo passaggio è un requisito di base per la sicurezza del database MariaDB. (Nota che Y è in maiuscolo, il che significa che è la risposta predefinita.)
Per impostazione predefinita, il pacchetto MaraiDB su Ubuntu utilizza unix_socket
per autenticare l'accesso dell'utente, il che significa sostanzialmente che puoi utilizzare il nome utente e la password del sistema operativo per accedere alla console MariaDB. Quindi puoi eseguire il seguente comando per accedere senza fornire la password di root di MariaDB.
sudo mariadb -u root
Per uscire, corri
exit;
Controlla le informazioni sulla versione del server MariaDB.
mariadb --version
Come puoi vedere, abbiamo installato MariaDB 10.1.29.
mariadb Ver 15.1 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Fase 4:installa PHP7.2
PHP7.2 è incluso nel repository di Ubuntu 18.04 e presenta un lieve miglioramento delle prestazioni rispetto a PHP7.1. Immettere il comando seguente per installare php7.2 e alcune estensioni comuni.
sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Le estensioni PHP sono comunemente necessarie per i sistemi di gestione dei contenuti (CMS) come WordPress. Ad esempio, se nella tua installazione manca php7.2-xml
, alcune delle pagine del tuo sito WordPress potrebbero essere vuote e puoi trovare un errore nel registro degli errori di Nginx come:
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
L'installazione di queste estensioni PHP assicura che il tuo CMS funzioni senza intoppi. Ora avvia php7.2-fpm.
sudo systemctl start php7.2-fpm
Abilita l'avvio automatico all'avvio.
sudo systemctl enable php7.2-fpm
Verifica lo stato:
systemctl status php7.2-fpm
Esempio di output:
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor prese Active: active (running) since Thu 2018-05-17 03:04:46 UTC; 2min 43s ago Docs: man:php-fpm7.2(8) Main PID: 31922 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se Tasks: 3 (limit: 2059) CGroup: /system.slice/php7.2-fpm.service ├─31922 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─31939 php-fpm: pool www └─31940 php-fpm: pool www
Passaggio 5:crea un blocco server Nginx
Un blocco server Nginx è come un host virtuale in Apache. Non useremo il blocco del server predefinito perché è inadeguato per eseguire il codice PHP e se lo modifichiamo, diventa un pasticcio. Quindi rimuovi il default
collegamento simbolico in sites-enabled
directory eseguendo il comando seguente. (È ancora disponibile come /etc/nginx/sites-available/default
.)
sudo rm /etc/nginx/sites-enabled/default
Quindi crea un nuovo file di blocco del server in /etc/nginx/conf.d/ directory.
sudo nano /etc/nginx/conf.d/default.conf
Incolla il seguente testo nel file. Il frammento di codice seguente farà in modo che Nginx sia in ascolto sulla porta IPv4 80 e sulla porta IPv6 80 con un nome di server catch-all.
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Salva e chiudi il file. Quindi testa le configurazioni di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica Nginx.
sudo systemctl reload nginx
Passaggio 6:prova PHP
Per testare PHP-FPM con il server Web Nginx, dobbiamo creare un info.php
file nella directory principale del documento.
sudo nano /usr/share/nginx/html/info.php
Incolla il seguente codice PHP nel file.
<?php phpinfo(); ?>
Salva e chiudi il file. Ora nella barra degli indirizzi del browser, inserisci server-ip-address/info.php
. Sostituisci sever-ip-address
con il tuo IP effettivo. Se segui questo tutorial sul tuo computer locale, digita 127.0.0.1/info.php
o localhost/info.php
.
Dovresti vedere le informazioni PHP del tuo server. Ciò significa che gli script PHP possono essere eseguiti correttamente con il server web Nginx.
Congratulazioni! Hai installato con successo Nginx, MariaDB e PHP7.2 su Ubuntu 18.04. Per la sicurezza del tuo server, dovresti eliminare info.php
file ora per impedire agli hacker di vederlo.
sudo rm /usr/share/nginx/html/info.php
Passaggio successivo
Potresti voler installare phpMyAdmin, che è un pannello di amministrazione basato sul Web per il server di database MySQL/MariaDB.
- Come installare phpMyAdmin con Nginx (LEMP) su Ubuntu 18.04 LTS
Puoi anche installare WordPress in cima allo stack LEMP per creare il tuo sito Web o blog.
- Installa WordPress su Ubuntu 18.04 con Nginx, MariaDB, PHP7.2 (LEMP)
Questo è tutto! Spero che questo tutorial ti abbia aiutato a installare lo stack LEMP su Ubuntu 18.04 LTS . Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere altri suggerimenti e trucchi. Abbi cura di te.