Cum să instalezi Nginx pe Ubuntu 18.04
Pasul 5 – Setarea blocurilor de configurare pe server (Recomandat)
Î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.html
folosind 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 pentruexemplu.ro
șiwww.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 directorulsites-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 directorulsites-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.
sal am vazut acest proiect simi place daca as vrea sa pun alt port?
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.