Come installare Nginx su Fedora 35

Nginx è un software server HTTP gratuito e open source. Oltre alle sue capacità di server HTTP, NGINX può anche funzionare come server proxy per e-mail (IMAP, POP3 e SMTP) e proxy inverso e bilanciamento del carico per server HTTP, TCP e UDP.

L'obiettivo di NGINX era creare il server web più veloce in circolazione e mantenere l'eccellenza è ancora un obiettivo centrale del progetto Nginx. NGINX batte costantemente Apache e altri server nei benchmark che misurano le prestazioni del server Web ed è ora il server Web più utilizzato secondo W3Tech.

Nel tutorial imparerai come installa e configura Nginx su Fedora 35 con un certificato TLS/SSL gratuito di Let's Encrypt.

Prerequisiti

  • Sistema operativo consigliato: Fedora Linux 35
  • Account utente: Un account utente con accesso sudo o root.

Aggiorna il sistema operativo

Aggiorna il tuo Fedora sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo dnf upgrade --refresh -y

Il tutorial utilizzerà il comando sudo , che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana supponendo che tu abbia lo stato di sudo.

Per verificare lo stato di sudo sul tuo account:

sudo whoami

Esempio di output che mostra lo stato di sudo:

[joshua@fedora ~]$ sudo whoami
root

Per configurare un account sudo esistente o nuovo, visita il nostro tutorial su Aggiungere un utente a Sudoers su Fedora.

Per utilizzare l' account di root, usa il seguente comando con la password di root per accedere.

su

pubblicità


Installa Nginx Stable o Mainline

Installare Nginx è molto semplice sulle distribuzioni Fedora date le versioni semestrali e il suo costante aggiornamento dei pacchetti durante il suo tempo significa che Nginx è, per la maggior parte, sempre aggiornato.

Dato che Fedora è abituata ad avere i pacchetti più aggiornati, abilitare prima il repository principale, che Nginx consiglia di utilizzare.

sudo dnf module enable nginx:mainline

Esempio di output:

Come installare Nginx su Fedora 35

Tipo Sì, quindi premere il tasto TASTO INVIO per procedere con l'installazione.

Quindi, apri il tuo terminale ed esegui il seguente comando per iniziare il processo di installazione.

sudo dnf install nginx

Esempio di output:

Come installare Nginx su Fedora 35

Tipo Sì, quindi premere il tasto TASTO INVIO per procedere con l'installazione.

Una volta installato, conferma l'installazione controllando la versione build di Nginx.

nginx -v

Output di esempio (usando l'esempio della linea principale):

nginx version: nginx/1.21.3

Per impostazione predefinita, il servizio Nginx non è abilitato o attivo una volta installato. Per abilitare Nginx, usa il seguente comando.

sudo systemctl enable nginx --now

Ora controlla lo stato del servizio per confermare che Nginx è in esecuzione senza errori.

systemctl status nginx

Esempio di output:

Come installare Nginx su Fedora 35

Come sopra, lo stato dovrebbe essere attivo (in esecuzione). A questo punto, hai installato l'applicazione Nginx.

Configura le regole del firewall

Per impostazione predefinita, l'installazione non aggiunge automaticamente le regole del firewall allo standard porta 80 o porta 443 durante l'installazione di Nginx. Prima di continuare, dovresti impostare le seguenti regole, questo dipenderà dalle porte che utilizzerai, ma tutte le opzioni sono elencate.

Apri la porta 80 o HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Apri la porta 443 o HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Ricarica il firewall per rendere effettive le modifiche

sudo firewall-cmd --reload

pubblicità


Configura Nginx

Dovrai avere l'indirizzo IP del server pronto per la configurazione. Il modo più semplice per farlo è con quanto segue.

Trova l'indirizzo IP del server

Dovrai preparare l'indirizzo IP del server per la configurazione. Il modo più semplice per farlo è con quanto segue.

curl -4 icanhazip.com

Esempio di output:

XXX.XXX.XXX.XXX IP address

Se i comandi non funzionano, è molto probabile che il pacchetto curl non sia installato. Esegui il seguente comando:

sudo dnf install curl -y

Una volta ottenuto l'indirizzo IP del tuo server, apri il tuo browser Internet preferito e verifica che la pagina di destinazione predefinita funzioni.

http://your_server_ip

Dovresti ottenere la seguente pagina nel tuo browser Internet.

Esempio:

Come installare Nginx su Fedora 35

Imposta la directory di origine del sito

Nel tutorial, imposterai un dominio chiamato example.com, ma dovresti sostituiscilo con il tuo nome di dominio. Il tutorial creerà le directory web e configurerà i file del sito nella directory principale / Var / www /.

Innanzitutto, crea la directory, per example.com, come segue, usando il "-P" flag per creare tutte le directory principali necessarie:

sudo mkdir -p /var/www/your_domain/html

In secondo luogo, dovrai assegnare il proprietario della directory.

sudo chown -R $USER:$USER /var/www/your_domain/html

Terzo, assegnare le autorizzazioni della directory, in modo che il proprietario legga, scriva ed esegua i file concedendo solo le autorizzazioni di lettura ed esecuzione a gruppi e altri. Puoi inserire il seguente comando:

sudo chmod -R 755 /var/www/your_domain

In alternativa, puoi usare il / Usr / share / nginx / html directory invece, ma il / Var / www il metodo della directory è consigliato per i nuovi utenti.

Imposta pagina HTML di prova

In quarto luogo, crea una pagina di prova che utilizzerai per confermare che il tuo server Nginx è operativo.

nano /var/www/your_domain/html/index.html

All'interno del nano editor e del nuovo file che hai creato. Digita il seguente.

<html>
 <head>
  <title>Welcome to your_domain!</title>
 </head>
 <body>
   <h1>Success!  The your_domain server block is working!</h1>
 </body>
</html>

Salva il file (CTRL+O), poi esci (CTRL+X).

Crea blocco server Nginx

Per impostazione predefinita, il blocco del server Nginx, simile agli host virtuali Apache, viene trattato nel /etc/nginx/conf.d directory. Tuttavia, l'installazione di Nginx varia a seconda delle diverse versioni e distribuzioni che utilizzano sia il conf.d or siti-disponibili/siti-abilitati per impostazione predefinita. Per il tutorial, verranno utilizzate le directory del sito per mantenere uno standard.

Innanzitutto, crea le directory necessarie per siti disponibili , che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana abilitato per i siti.

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

Quindi, apri il tuo file nginx.conf e rimuovi o commenta il "include /etc/nginx/default.d/*.conf;".

sudo nano /etc/nginx/nginx.conf

Quindi, direttamente sotto aggiungi include “/etc/nginx/sites-enabled/*.conf;”.

Solo esempio:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

###EDIT HERE###
#  include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*.conf;
}

Come sopra, a "#" commento è stato aggiunto a includi conf.d linea, e includi siti abilitati è stato aggiunto.

Salva il file (CTRL+O) ed esci (CTRL+X).

Quindi, crea il file di configurazione del blocco del server. Il nome tuo_dominio.conf verrà utilizzato per il tutorial, ma può essere chiamato come preferisci.

sudo nano /etc/nginx/sites-available/your_domain.conf

Puoi incollare il seguente codice di esempio nel blocco. Questo è solo un Esempio solo HTTP per i test di base.

server {
 listen 80;
 listen [::]:80;

 root /var/www/your_domain/html;

  index index.html index.htm;
  server_name your_domain www.your_domain;

 location / {
  try_files $uri $uri/ =404;
 }
}

L'esempio mostra che il tuo server sta ascoltando due nomi di server, “tuo_dominio” sulla porta 80.

Dovrai cambiare la directory principale con il nome/posizione della directory principale che crei.

Blocco server Nginx abilitato

È necessario collegare i file di configurazione dai siti disponibili ai siti abilitati nella directory Nginx per abilitare i blocchi del server Nginx. Questo può essere fatto con il comando ln -s come segue.

sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/

Configurazione finale ed esecuzione di prova

Nella fase finale, dovrai aprire il tuo default nginx.conf file.

sudo nano /etc/nginx/nginx.conf

E decommenta la riga seguente.

server_names_hash_bucket_size 64;

La dimensione del bucket di hash del nome del server viene modificata poiché a volte sorgono problemi dall'aggiunta di server aggiuntivi.

Quindi, prova il tuo Nginx per assicurarti che funzioni prima di riavviarlo correttamente.

sudo nginx -t

L'output dovrebbe essere se non ci sono errori nella sintassi:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Se hai il seguente output ok, riavvia il server Nginx affinché le modifiche abbiano luogo.

sudo systemctl restart nginx

Ora apri il tuo browser Internet e digita il nome del dominio del server. Dovresti vedere che il tuo blocco server è attivo.

Come installare Nginx su Fedora 35

Proteggi Nginx con il certificato gratuito SSL di Let's Encrypt

Idealmente, vorresti eseguire il tuo Nginx su HTTPS utilizzando un certificato SSL. Il modo migliore per farlo è usare Criptiamo, un'autorità di certificazione gratuita, automatizzata e aperta gestita dal Internet Security Research Group (ISRG) senza scopo di lucro.

installare il pacchetto certbot come segue:

sudo dnf install python3-certbot-nginx -y

Una volta installato, esegui il seguente comando per avviare la creazione del tuo certificato:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Questa è la configurazione ideale che include reindirizzamenti forzati HTTPS 301, intestazione Strict-Transport-Security e Stapling OCSP. Assicurati solo di adattare l'e-mail e il nome di dominio alle tue esigenze.

Ora il tuo URL sarà HTTPS://www.esempio.com invece di HTTP://www.esempio.com.

Nota, se usi il vecchio URL HTTP, reindirizzerà automaticamente a HTTPS.

Facoltativamente, puoi impostare un cron job per rinnovare automaticamente i certificati. Certbot offre uno script che lo fa automaticamente e puoi prima testare per assicurarti che tutto funzioni eseguendo una corsa a secco.

sudo certbot renew --dry-run

Se tutto funziona, apri la finestra di crontab utilizzando il seguente comando da terminale.

sudo crontab -e

Quindi, specifica l'ora in cui dovrebbe rinnovarsi automaticamente. Questo dovrebbe essere controllato almeno giornalmente e, se il certificato deve essere rinnovato, lo script non aggiornerà il certificato. Se hai bisogno di aiuto per trovare un buon momento per impostare, usa il crontab.guru strumento gratuito.

00 00 */1 * * /usr/sbin/certbot-auto renew

Risparmi (CTRL+O) poi esci (CTRL+X), e il cronjob verrà abilitato automaticamente.


pubblicità


Gestione del servizio Nginx

Ora che hai Nginx in esecuzione sul tuo server con successo, alcune note chiave di gestione sono le seguenti.

Per fermare il server web Nginx:

sudo systemctl stop nginx

Per avviare il server web Nginx:

sudo systemctl start nginx

Per riavviare il server web Nginx:

sudo systemctl restart nginx

Per ricaricare il server web Nginx (Per ulteriori modifiche minori che non richiedono un riavvio):

sudo systemctl reload nginx

Per disabilitare Nginx all'avvio del server:

sudo systemctl disable nginx

Per avviare Nginx all'avvio del server (Abilitato automaticamente all'installazione):

sudo systemctl enable nginx

Come accedere ai log del server Nginx

Directory dei log di Nginx

Per impostazione predefinita, tutti i registri di accesso/errore di NGINX, a meno che non siano stati modificati, si trovano nella directory dei registri, che può essere visualizzata dal seguente comando.

Per prima cosa, vai alla directory dei log ed elenca i file:

cd /var/log/nginx && ls -l

Dovresti trovare i seguenti file di accesso e di errore:

Registro di accesso:

/var/log/nginx/access.log

Registro errori:

/var/log/nginx/error.log

Per visualizzare i log in tempo reale nel tuo terminale usando il comando sudo tail -f /location/of/log path.

Esempio:

sudo tail -f /var/log/nginx/access.log

Un'altra opzione è stampare l'ultima quantità X di righe. Ad esempio, X viene sostituito con 30 per stampare 30 righe aggiungendo il -n 30 bandiera.

sudo tail -f /var/log/nginx/access.log -n 30

Questi sono solo alcuni esempi di lettura dei log e anche grep può essere utile.

Come configurare la rotazione del registro di Nginx

Nginx installa automaticamente la rotazione dei log e la configura come predefinita, ovvero la rotazione giornaliera. È possibile modificare queste impostazioni accedendo al file come mostrato di seguito.

sudo nano /etc/nginx/logrotate.d/nginx

Successivamente, vedrai la stessa struttura di file se non simile. Puoi modificare i contenuti qui. Per lo più è possibile modificare il numero di registri da conservare o passare da giornalieri a settimanali. Questo dovrebbe essere lasciato di default a meno che tu non abbia requisiti di log specifici per software come il monitoraggio fail2ban o simili.

/var/log/nginx/*.log {
  daily
  missingok
  rotate 14
  compress
  delaycompress
  notifempty
  create 0640 www-data adm
  sharedscripts
  prerotate
  if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
  run-parts /etc/logrotate.d/httpd-prerotate; \
  fi \
  endscript
  postrotate
  invoke-rc.d nginx rotate >/dev/null 2>&1
  endscript
}

Le impostazioni principali che probabilmente vorrai modificare sono le seguenti:

  • Quotidiano - Questo può essere cambiato in Settimanale, Mensile. Questo dovrebbe essere mantenuto giornalmente, altrimenti sarà difficile passare attraverso il file di registro.
  • Ruota 14 – Questo è il numero di log da conservare e rimuovere, quindi al massimo ci sono solo 14 log, se vuoi conservare solo 7 giorni di log cambialo in 7.

Si consiglia di non toccare altre impostazioni a meno che tu non sappia cosa stai facendo.


pubblicità


Come aggiornare Nginx

Nginx verrà aggiornato per impostazione predefinita quando una nuova versione raggiunge i repository. Prima di eseguire l'aggiornamento, è sempre consigliabile eseguire il backup della directory Nginx o, per lo meno, del nginx.conf file. Puoi fare entrambe le cose con il seguente comando.

Eseguire il backup di nginx.conf (altamente consigliato):

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx-backup.conf

Se preferisci, esegui il backup dell'intera cartella Nginx:

sudo cp /etc/nginx/ /etc/nginx-bkup

Quindi, esegui il comando di aggiornamento standard.

sudo dnf upgrade --refresh

Se è disponibile un aggiornamento, eseguire l'aggiornamento.

Potrebbe esserti richiesto durante un aggiornamento o un'installazione, ma farlo manualmente in anticipo è piuttosto essenziale. Per grandi configurazioni Nginx di più siti, il backup su qualcosa come Github o Gitlab sarebbe ancora più vantaggioso.

Come rimuovere (disinstallare) Nginx

Per rimuovere Nginx se non lo usi più, puoi farlo usando il seguente comando:

sudo dnf autoremove nginx

Questo comando rimuoverà anche tutte le dipendenze inutilizzate fornite con l'installazione.

Per ripristinare il modulo nginx dalla linea principale ai valori predefiniti, utilizzare il seguente comando.

sudo dnf modules reset nginx

pubblicità


Commenti e Conclusione

Nel tutorial, hai imparato a installare e configurare la configurazione di base di Nginx sul tuo dominio su Fedora 35 Workstation o Server, oltre a creare un certificato SSL gratuito utilizzando Let's Encrypt. Nel complesso, Nginx è il software di applicazione Web più utilizzato e popolare ora, con ogni mese e anno che superano prendendo più quote di mercato da Apache.

Alcuni nuovi contendenti stanno iniziando a spuntare, come Openlitespeed ma date queste altre applicazioni web, per ora, concentrati su cose specifiche come WordPress. Nginx sarà l'applicazione web di riferimento per un po' di tempo.

Sottoscrivi
Notifica
0 Commenti
Feedback in linea
Visualizza tutti i commenti
0
Amerei i tuoi pensieri, per favore commenta.x