Cum să instalezi Nginx pe Ubuntu 18.04

În momentul în care folosim web server-ul Nginx, blocurile de configurare ale serverului (similare, ca și concept, cu gazdele virtuale în Apache) pot fi folosite pentru a încapsula detaliile de configurare și pentru a găzdui mai mult de un domeniu pe un singur server. Vom seta un domaniu denumit exemplu.ro, dar puteți înlocui pe acesta cu domeniul propriu.

Nginx pe Ubuntu 18.04 are un singur bloc de configurare activat implicit care este configurat să afișeze pagini din directorul /var/www/html. În timp ce acesta funcționează pentru un singur site, poate deveni ineficace dacă veți găzdui site-uri multiple. În loc să modificăm /var/www/html, haideți să creăm o structură de directoare în /var/www pentru site-ul personal exemplu.ro, lăsând /var/www/html în pace ca și director implicit care să fie afișat în cazul în care cererea unui client nu se potrivește nici unui site.

Creați directorul exemplu.ro după exemplu, folosind opțiunea -p pentru a crea toate directoarele părinte necesare:

$ sudo mkdir -p /var/www/exemplu.ro/html

Următorul pas, asignați apartenența directorului variabilei de mediu $USER:

sudo chown -R $USER:$USER /var/www/exemplu.ro/html

Permisiunile rădăcinei web ar trebui să fie corecte dacă nu ați modificat valorile umask, dar vă puteți asigura, tastând:

$ sudo chmod -R 755 /var/www/exemplu.ro

Apoi creați un fișier mostră index.htmlfolosind nano sau editorul de text favorit:

$ nano /var/www/exemplu.ro/html/index.html

Inăuntru, adăugați următorul exemplu HTML:

                 /var/www/exemplu.ro/html/index.html

<html>
    <head>
        <title>Bine ați venit la Exemplu.ro!</title>
    </head>
    <body>
        <h1>Succes! Blocul de configurare exemplu.ro funcționează!</h1>
    </body>
</html>

Salvați și închideți fișierul când ați terminat.

Pentru ca Nginx să afișeze conținut, este necesar să creeze un bloc de configurare cu directivele corecte. În loc să modificăm direct fișierul de configurare implicit, haideți să creăm unul nou în /etc/nginx/sites-available/exemplu.ro:

$ sudo nano /etc/nginx/sites-available/exemplu.ro

Lipiți următorul bloc de configurare, care este similar cu cel implicit, dar reactualizat cu noul director și domeniu:

              /etc/nginx/sites-available/exemplu.ro

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

        root /var/www/exemplu.ro/html;
        index index.html index.htm index.nginx-debian.html;

        server_name exemplu.ro www.exemplu.ro;

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

Atenție la cum am actualizat configurația root (rădăcină) la noul nostru director, și server_name la numele de domeniu.

Apoi, haideți să activăm fișierul prin crearea unui link de la acesta la directorul sites-enabled, din care Nginx citește în momentul în care pornește:

$ sudo ln -s /etc/nginx/sites-available/exemplu.ro /etc/nginx/sites-enabled/

Două blocuri de configurare sunt acum activate și configurate pentru a răspunde la interogări bazate pe directivele listen și server_name (puteți citi mai multe despre cum Nginx procesează aceste directive aici):

  • exemplu.ro: Va răspunde la interogările pentru exemplu.ro și www.exemplu.ro.
  • default: Va răspunde la orice interogare venită pe portul 80 care nu se potrivește celor două blocuri.

Pentru a evita problemele de memorie tip hash bucket care pot interveni din numele de server adiționale, este necesar să ajustăm o singură valoare în fișierul /etc/nginx/nginx.conf. Deschideți fișierul:

$ sudo nano /etc/nginx/nginx.conf

Găsiți directiva server_names_hash_bucket_size și ștergeți simbolul # pentru a decomenta linia:

                      /etc/nginx/nginx.conf

...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Apoi, pentru a testa și pentru a ne asigura că nu existe erori de sintaxă în oricare din fișierele Nginx, rulăm următoarea comandă:

$ sudo nginx -t

Salvați și închideți când ați terminat.

Dacă nu vor exista probleme, restartați Nginx pentru a activa schimbările:

$ sudo systemctl restart nginx

Nginx ar trebui acum să afișeze pagina din domeniul dvs. Puteți testa asta prin navigarea către http://exemplu.ro, unde ar trebui să vedeți ceva de genul:

Succes! Blocul de configurare exemplu.ro funcționează!

Pasul 6 – Familiarizarea cu fișiere și directoare Ngnix

Acum că știți cum să gestionați serviciul Ngnix, ar trebui să dedicați câteva minute pentru a vă familiariza cu câteva directoare și fișiere importante.

Conținut

  • /var/www/html: Conținutul web propriu-zis, care implicit conține numai pagina Nginx pe care am văzut-o mai devreme, este afișat din directorul /var/www/html. Acesta poate fi schimbat modificând fișierele de configurare Nginx.

Configurarea serverului

  • /etc/nginx: Directorul de configurare Nginx. Toate fișierele de configurare se află aici.
  • /etc/nginx/nginx.conf: Principalul fișier de configurare Nginx. Acesta poate fi mofificat pentru a face schimbări în configurarea globală a Nginx.
  • /etc/nginx/sites-available/: Directorul în care blocurile de configurare per-site pot fi stocate. Nginx nu va folosi fișierele de configurare găsite în acest director decât dacă sunt legate cu link către directorul sites-enabled. Tipic, toată configurarea blocurilor de server este făcută în acest director și activată prin link către alt director.
  • /etc/nginx/sites-enabled/: Directorul unde blocurile de server per-site sunt stocate. Tipic, acestea sunt create prin link către fișierele de configurare găsite în directorul sites-available.
  • /etc/nginx/snippets: Acest director conține fragmente de configurare care pot fi incluse altundeva în configurația Ngnix. Segmentele de configurație potențial repetabilă sunt candidați buni pentru stocarea lor în fragmente.

Jurnalele de server

  • /var/log/nginx/access.log: Fiecare cerere către web server este înregistrată în acest fișier jurnal numai dacă Ngnix este configurat să procedeze în alt fel.
  • /var/log/nginx/error.log: Orice erori Ngnix vor fi stocate în acest jurnal.

Concluzie

Acum că aveți un server web instalat, aveți mai multe opțiuni pentru tipul de conținut ce va fi afișat precum și tehnologiile pe care veți dori să le folosiți pentru a crea o experiență mai bogată.

Dacă doriți să instalați o stivă de aplicații mult mai completă, citiți acest tutorial despre cum să configurez stiva LEMP pe Ubuntu 18.04.

root

Un entuziast pasionat de tot ceea ce înseamnă Linux și Open Source și un energic promotor. Deschis la orice proiecte bazate pe aceste tehnologii.

2 comentarii la „Cum să instalezi Nginx pe Ubuntu 18.04

    • 31 martie 2021 la 22:23
      Legătură permanentă

      Va trebui să umbli în fișierul de configurare al virtual hostului. De ex: Http este implicit port 80 ca și în ex de mai jos:

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

      root /var/www/exemplu.ro/html;
      index index.html index.htm index.nginx-debian.html;

      server_name exemplu.ro http://www.exemplu.ro;

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

      La listen 80 pe ipv4 și listen [::]:80 pe ipv6 schimbi portul cu cât vrei. Dar nu uita să deschizi si porturile prin firewall. Dacă îl ai activat. Mai poți face și redirectare de port din 80 către ce vrei tu.

      Răspunde

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.