GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa WordPress su Nginx Ubuntu

Nginx è un noto server Web utilizzato per servire pagine Web su Internet. Nginx, lanciato per la prima volta nell'ottobre 2004, è diventato rapidamente il server Web e il server proxy preferito da migliaia di sviluppatori Web. Ha una serie di vantaggi rispetto al suo concorrente Apache. In questo articolo impareremo come installare Nginx su Ubuntu e usarlo per ospitare WordPress.

Prima di iniziare, consentitemi di affermare inequivocabilmente che questo non è un confronto tra Nginx e Apache o qualsiasi altro server web. Apache è stato introdotto nel 1999 e offre diverse funzioni utili. Se desideri installare WordPress su Apache, abbiamo già un articolo sull'argomento, quindi dai un'occhiata.

Nginx è stato lanciato per la prima volta nell'ottobre 2004, circa 17 anni fa. La maggior parte degli sviluppatori Web preferisce Nginx per la sua capacità di gestire più richieste simultanee di client rapidamente con risorse hardware limitate, rendendo meno costoso l'hosting di siti Web su Internet. Nginx può anche essere utilizzato come proxy inverso, indirizzando le richieste dei client al server di hosting primario, che non ha accesso a Internet pubblico, rendendo il server di hosting più sicuro di quanto sarebbe altrimenti.

Prerequisiti per installare WordPress su Nginx

In questo articolo utilizzeremo il sistema operativo Ubuntu, PHP 8.1, Nginx e WordPress. Se non sai cos'è WordPress, abbiamo trattato WordPress in una serie di articoli, WordPress 101.

  • Ubuntu 20.04
  • Nginx
  • PHP 8
  • WordPress

Ubuntu 20.04 è una versione di supporto a lungo termine di Ubuntu. Se hai bisogno di assistenza per l'installazione di Ubuntu, fai riferimento a questo articolo su LinuxAndUbuntu. Dopo aver installato Ubuntu, possiamo passare all'installazione del resto dei pacchetti richiesti.

Se utilizzi servizi cloud come AWS, Google Cloud Platform, Linode, DigitalOcean o MassiveGRID, puoi saltare la fase di installazione. Tutti i provider cloud supportano l'installazione del server Ubuntu con un clic con Nginx. Quindi vai con Ubuntu 20.04, nome in codice Focal Fossa. La maggior parte dei provider di servizi cloud preinstalla il firewall UFW su Ubuntu per impostazione predefinita. Ti consiglio di abilitare il firewall per migliorare la sicurezza del server e consentire le porte TCP elencate di seguito.

Nel caso in cui UFW non sia preinstallato, sentiti libero di installarlo dal repository –

apt install ufw
ufw enable
ufw allow http
ufw allow https
ufw allow 22

http e https sono la porta 80 e la porta 443. La porta 22 è per la connessione SSH al server. Se il tuo server utilizza una porta personalizzata per ssh, consenti la porta ssh personalizzata prima di chiudere la connessione SSH corrente. Dopo aver abilitato il firewall UFW, bloccherà tutte le porte a meno che non sia consentito manualmente. Quindi, una volta chiusa la connessione SSH in corso, non consentirà l'accesso SSH fino a quando la porta SSH non sarà consentita.

Inoltre, aggiorna il sistema operativo per assicurarti che il server sia completamente aggiornato con gli ultimi aggiornamenti di sicurezza.

apt update
apt upgrade
Avviso
Non è consigliabile accedere come root ed eseguire azioni sul server. Quindi imposta un nuovo account utente e concedigli sudo privilegi.
adduser username

Il comando precedente avvierà il processo di creazione dell'utente. Segui le semplici istruzioni e poi concedi all'utente appena creato sudo privilegi utilizzando il comando seguente –

usermod -aG sudo username

Ora reboot il server e ssh nel server con un nuovo account utente.

Installa Nginx

L'installazione di Nginx equivale all'installazione di qualsiasi altro pacchetto sul sistema. Usa il gestore di pacchetti apt per installare nginx dal repository –

sudo apt install nginx

Al termine del processo di installazione, avviare/riavviare il server utilizzando il seguente comando –

service nginx restart
service nginx status

Visita l'indirizzo IP per verificare che il server funzioni correttamente. Quella che segue è la pagina predefinita di nginx che conferma il corretto funzionamento di nginx sul server.

Configura Nginx per servire WordPress

Nginx può gestire facilmente più siti Web sullo stesso server utilizzando host virtuali. Per impostazione predefinita, nginx crea un profilo predefinito che mostra la pagina di benvenuto di Nginx sopra. Disattiveremo prima il profilo predefinito, quindi creeremo un nuovo profilo per gestire WordPress.

sudo unlink /etc/nginx/sites-enabled/default

Il comando precedente disabiliterà il profilo Nginx predefinito. Ora crea un nuovo profilo per la nostra installazione di WordPress.

sudo nano /etc/nginx/sites-available/example.com

Ora incolla la seguente configurazione nell'editor di testo.

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }
}

Prima di salvare il file sopra, si prega di comprendere cosa fa la configurazione di cui sopra. Dopo aver abilitato questa configurazione, Nginx inizierà a cercare le richieste per il nome di dominio indicato come valore di nome_server nella configurazione

nome_server => il nome di dominio per il nostro sito web
root => la directory principale del nostro sito Web memorizzata sul server
indice => il file da cercare nella radice del sito web
posizione => il blocco della posizione elabora l'URI della richiesta (è un po' complicato e merita un articolo a parte sul suo funzionamento)

Sostituisci gaminggroup.online con il tuo nome di dominio. Con l'opzione root, abbiamo specificato che la radice del nostro sito Web si trova all'interno di /var/www/gaminggroup.online . Quindi, nel passaggio successivo, creeremo la directory del sito Web in /var/www .

Ora salva il file di configurazione con ctrl + x e premi Invio .

Crea directory principale del sito web

sudo mkdir /var/www/gaminggroup.online

Ora, ogni volta che qualcuno visita il nostro sito web example.com, in base alla richiesta, nginx pubblicherà i contenuti all'utente da questo /var/www/gaminggroup.online directory. Per testare la nostra configurazione, crea un esempio index.html all'interno della radice del nostro sito Web (/var/www/gaminggroup.online).

sudo nano /var/www/gaminggroup.online/index.html

Incolla il seguente codice HTML di esempio nel file e salvalo.

<h2>Hello world!</h2>
<p>This is a test page for gaminggroup.online</p>

Prima di verificare se tutto funziona correttamente, impostiamo i permessi corretti sulla directory principale del sito Web in modo che il server possa accedere ai file al suo interno.

sudo chown -R www-data:www-data /var/www/gaminggroup.online/index.html

Controlla la configurazione di Nginx per eventuali errori –

sudo ln -s /etc/nginx/sites-available/gaminggroup.online /etc/nginx/sites-enabled/
sudo nginx -t

Se non ci sono errori nella configurazione, siamo a posto. Visita il nome di dominio e dovresti vedere la pagina di esempio index.html che abbiamo impostato.

sudo service nginx restart

Lo screenshot qui sopra conferma il corretto funzionamento delle nostre configurazioni. Ora possiamo passare alla preparazione per l'installazione di WordPress.

Installiamo il server del database e creiamo il database per WordPress.

Installa il server MariaDB

sudo apt install mariadb-server

Esegui mysql_secure_installation per configurare il server'.

sudo mysql_secure_installation

È possibile creare la password dell'utente root MySQL. Se non vuoi creare la password dell'utente root, accedi all'utente root di MySQL usando sudo msyql .

Se hai creato la password dell'utente root, accedi all'utente root usando il seguente comando –

mysql -u root -p

Or

sudo mysql (type sudo password when prompted)

Crea database –

create database wordpress;
Suggerimento
Si consiglia vivamente di creare un nuovo utente MySQL per il database di WordPress.

Crea utente MySQL –

create user 'sandy'@'localhost' identified by 'password';

Concedi i privilegi del database (wordpress) all'utente appena creato –

grant all privileges on wordpress.* to 'sandy'@'localhost';

Tieni presente che utilizzeremo questo utente del database in WordPress in modo che possa connettersi al database. È altamente vietato collegare WordPress al database utilizzando l'utente root.

Installiamo i pacchetti richiesti, inclusi PHP e diverse estensioni PHP che WordPress richiede per funzionare.

Aggiungi repository PHP 8

sudo add-apt-repository ppa:ondrej/php

Installa estensioni PHP e PHP –

sudo apt install php-cli php-fpm php-mysql php-json php-mbstring php-xml php-gd php-curl

E questo è tutto per la nostra installazione di WordPress. Rimuovi il file index.html di esempio da /var/www/gaminggroup.online .

Scarica WordPress –

wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/

Sposta i file di WordPress nella directory principale del sito web –

sudo mv /tmp/wordpress/* /var/www/gamingroup.online

Correggi i permessi –

sudo chown -R www-data:www-data /var/www/gaminggroup.online
sudo find /var/www/gaminggroup.online/ -type d -exec chmod 755 {} \;
sudo find /var/www/gaminggroup.online/ -type f -exec chmod 644 {} \;

Aggiungi la seguente location bloccare nella configurazione del sito dopo la location esistente blocca in modo che funzioni con WordPress.

location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }

La configurazione finale dovrebbe assomigliare a questa –

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }

        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }
}

E questo è tutto per la nostra configurazione di WordPress. Ora è necessario completare ulteriori passaggi dal browser web. Visita il tuo nome di dominio dal browser web e ti reindirizzerà alla pagina di installazione di WordPress.

Fai clic su "Andiamo!" per la creazione di database con WordPress. Ora inserisci il nome del database, il nome utente del database, la password dell'utente del database che abbiamo creato sopra e fai clic su "Invia".

Fai clic su "Esegui l'installazione" e ti consentirà di inserire il titolo del sito Web, configurare l'amministratore di WordPress, ecc. Non preoccuparti, puoi sempre modificare questi dettagli in un secondo momento.

E sorpresa sorpresa! Abbiamo installato WordPress su Nginx. I prossimi giorni dovrai dedicare alla configurazione del sito Web, all'installazione di nuovi temi, plug-in e alla pubblicazione di contenuti straordinari. Condividi con noi ciò che crei! 🙂

Conclusione

Sebbene l'installazione sia terminata, ma poiché si tratta di un server non gestito, dovrai occuparti del tuo server da solo. Assicurati di mantenere aggiornato il server installando regolarmente gli aggiornamenti o configurando meglio gli aggiornamenti automatici per installare automaticamente gli aggiornamenti. Inoltre, imposta Canonical Livepatch per installare gli aggiornamenti del kernel senza riavviare il server.

Se vuoi migrare WordPress dal vecchio web hosting a questo server, leggi questa guida. Oppure leggi questa guida se vuoi migrare il tuo sito Weebly su WordPress.


Ubuntu
  1. Come installare WordPress usando Nginx su Ubuntu 18.04

  2. Ospita WordPress in Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  3. Come installare LEMP su Ubuntu 16.04

  4. Come installare WordPress su Ubuntu 22.04

  5. Installa Nginx su Ubuntu

Come installare Nginx su Ubuntu 18.04 LTS

Come installare Nginx Web Server su Ubuntu 20.04

Installa Nginx su Ubuntu 18.04

Installa WordPress con Nginx su Ubuntu 18.04

Come installare Nginx su Ubuntu 14.04

Come installare NGINX su Ubuntu 20.04