GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa Nginx e configura l'host virtuale in Ubuntu 20.04

In questa guida esploreremo come utilizzare nginx in Ubuntu 20.04, ovvero l'installazione di nginx e la configurazione di nginx per servire un sito virtuale.

Installazione di Nginx

aggiorna il nostro indice di pacchetto locale in modo da avere accesso agli elenchi di pacchetti più recenti

sudo apt update

Installa nginx

sudo apt install nginx

Aggiorna firewall

Elenca le app disponibili:

sudo ufw app list

Esempio di output:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

I profili Nginx elencati:

  • Nginx Full – Sia http – 80 che https – 443
  • Nginx HTTP – solo traffico http 80
  • Nginx HTTPS – Solo traffico https 443 – Traffico crittografato TLS/SSL

Abilita il profilo che desideri, sia http che https nel nostro caso:

sudo ufw allow 'Nginx Full'

Verifica la modifica

sudo ufw status

Il comando precedente produrrà quale traffico è consentito.

Configurazione di nginx

Controlla la versione installata

sudo apt list --installed | grep nginx

Controlla il servizio systemd

sudo systemctl status nginx

Dovresti vedere questo output che mostra che nginx è in esecuzione

● 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 Fri 2021-07-30 14:07:33 UTC; 2min 42s ago
       Docs: man:nginx(8)
   Main PID: 4684 (nginx)
      Tasks: 5 (limit: 9257)
     CGroup: /system.slice/nginx.service
             ├─4684 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─4685 nginx: worker process
             ├─4686 nginx: worker process
             ├─4687 nginx: worker process
             └─4688 nginx: worker process

Jul 30 14:07:33 frhb64566ds systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 30 14:07:33 frhb64566ds systemd[1]: Started A high performance web server and a reverse proxy server.

Per assicurarti che il servizio nginx sia sempre in esecuzione anche dopo il riavvio, usa questo comando systemnd per abilitare:

sudo systemctl enable nginx

Puoi usare questi altri comandi di sistema per gestire nginx:

# To start the service
sudo systemctl start nginx

# To restart the service
sudo systemctl restart nginx

# To reload the service config
sudo systemctl reload nginx

# To stop the service config
sudo systemctl restart nginx

# To disable the service config
sudo systemctl restart nginx

Per confermare che nginx è effettivamente in esecuzione ed è raggiungibile, usa questo comando:

curl http://server_ip/

dove server_ip è l'ip del tuo server. Se per qualsiasi motivo non conosci l'ip pubblico del tuo server usa questo per controllare:

curl -4 icanhazip.com

Quindi:

curl http://178.170.10.54/

Dovresti ottenere la pagina nginx predefinita.

Utilizzo di una semplice pagina statica nginx

Diamo un'occhiata a un esempio per servire una pagina statica con nginx. La pagina statica è html e css che non richiede alcun rendering lato server. Utilizzeremo il dominio di esempio your.domain.com nel nostro caso.

Passi:

  1. Crea la directory per memorizzare i nostri contenuti statici (useremo /var/www/your.domain.com )

    sudo mkdir -p /var/www/your.domain.com
  2. Assicurati che la directory creata sia accessibile dall'utente corrente

    sudo chown -R ${USER}:${USER} /var/www/your.domain.com
    sudo chmod -R 755 /var/www/your.domain.com
  3. Aggiungi un file di esempio alla directory (/var/www/your.domain.com/index.html )

    cat > /var/www/your.domain.com/index.html <<EOF
    <html>
    <head>
        <title>Hola from your.domain.com!</title>
    </head>
    <body>
        <h1>Hey!</h1>
        <p>Our site <i>your.domain.com</i> is working as expected.</p>
    </body>
    </html>
    EOF
  4. Crea la configurazione di nginx nella directory /etc/nginx/conf.d dove nginx cerca le configurazioni da includere durante la pubblicazione. Creeremo il file /etc/nginx/conf.d/your.domain.com.conf con il contenuto richiesto.

Usa questo comando:

cat > /etc/nginx/conf.d/your.domain.com.conf <<EOF
server {
    listen 80;
    server_name your.domain.com;

    root /var/www/your.domain.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
  1. Verifica che non ci siano errori di sintassi in nessuno dei file nginx

    sudo nginx -t
  2. Se non ci sono errori, riavvia nginx per ricaricare config

    sudo systemctl restart nginx
  3. Per assicurarti che il tuo dominio possa raggiungere il server, modifica la tua configurazione DNS per assicurarti che i record A del sito your.domain.com punta all'IP del server.

Il tuo sito dovrebbe ora essere attivo e funzionante. Conferma visitando http://tuo.dominio.com

File e directory Nginx importanti in Nginx

  • /var/www/html :Questa è la directory del contenuto web. Questo contiene il contenuto predefinito della pagina nel file index.nginx-debian.html . Quella pagina viene visualizzata quando non è definito alcun host server specifico.

  • /etc/nginx :contiene tutti i file di configurazione di nginx.

  • /etc/nginx/nginx.conf :Questo è il principale file di configurazione globale di nginx

  • /etc/nginx/sites-available/ :la directory in cui possono essere archiviati i blocchi del server per sito. Nginx non utilizzerà i file di configurazione trovati in questa directory a meno che non siano collegati a sites-enabled directory. In genere, tutta la configurazione del blocco del server viene eseguita in questa directory e quindi abilitata collegandosi all'altra directory.

  • /etc/nginx/sites-enabled/ :la directory in cui sono archiviati i blocchi server per sito abilitati. In genere, questi vengono creati collegandosi ai file di configurazione che si trovano nella directory dei siti disponibili.

  • /etc/nginx/snippets :questa directory contiene frammenti di configurazione che possono essere inclusi altrove nella configurazione di Nginx. I segmenti di configurazione potenzialmente ripetibili sono buoni candidati per il refactoring in snippet.

  • /var/log/nginx/access.log :Ogni richiesta al tuo server web viene registrata in questo file di registro a meno che Nginx non sia configurato per fare diversamente.

  • /var/log/nginx/error.log :Eventuali errori Nginx verranno registrati in questo registro.


Ubuntu
  1. Come installare e configurare Nginx su CentOS 8

  2. Come installare e configurare Nginx su Ubuntu 20.04

  3. Come installare Nginx su Ubuntu 16.04

  4. Come installare e configurare GitLab su Ubuntu 18.04

  5. Come installare e configurare Varnish su Ubuntu 20.04?

Come installare e configurare GitLab CE su Ubuntu 18.04 LTS

Come installare e configurare DNS su Ubuntu

Come installare e configurare Kubernetes su Ubuntu

Installa e configura Log con Graylog in Ubuntu 20.04

Come installare e configurare Nginx in Ubuntu 20.04 e Ubuntu 21.04

Come installare e configurare Memcached su Ubuntu