când ați terminat de scris cod pentru site-ul sau aplicația web, veți avea nevoie de ea plasat într-o locație în care se poate rula și livra conținut pentru utilizatori. Acest lucru este în cazul în care software-ul de server web vine în. O simplă căutare Google a software-ului serverului web vă va aduce o listă destul de mare de soluții din care să alegeți.
în acest tutorial, accentul nostru este pe Nginx; și în special modul în care îl puteți rula pe Ubuntu 18.04. Nginx este unul dintre cele mai populare software-uri de servere web din lume. De fapt, este nevoie de un loc în Top Cinci pe Opensource.com clasament. Este responsabil pentru asigurarea disponibilității și scalabilității site-urilor cu cel mai mare trafic de pe internet. Acesta garantează securitatea și îl puteți folosi ca un proxy invers. Deci, cum puteți instala Nginx pe Ubuntu 18.04?
cerințe preliminare
desigur, aveți deja un computer care rulează Ubuntu 18.0.4; și aveți un utilizator non-root cu privilegii sudo. Dacă nu, accesați acest link pentru a descărca Ubuntu 18.0.4, apoi urmați ghidurile din configurarea inițială a serverului cu Ubuntu pentru a crea un cont non-root. Odată ce aveți un cont, trebuie să vă conectați ca utilizator non-root și apoi putem continua cu pașii următori.
Pasul 1-instalați Nginx
Ubuntu se bazează pe Debian. Pentru a instala pachete deb din linia de comandă, puteți utiliza comenzi apt sau dpkg. Vom folosi comanda apt, deoarece este mai populară. Comanda Apt permite utilizatorilor să instaleze pachete care sunt disponibile din depozitele implicite ale distribuției Linux specifice pe care o execută. În acest caz, avem Nginx Disponibil în depozitele implicite ale Ubuntu 18.04, deci putem continua. De regulă, acum și când instalați orice pachet pe o distribuție Linux, trebuie mai întâi să actualizați; introduceți următoarea comandă în terminal pentru a actualiza:
sudo apt update
apoi pentru a instala Nginx, introduceți următoarea comandă:
sudo apt install nginx
Urmați instrucțiunile, iar Nginx va fi instalat pe serverul dvs. împreună cu dependențele necesare.
Pasul 2-Reglați Firewall-ul
instrumentul implicit de configurare a firewall-ului pentru Ubuntu este UFW. UFW standuri pentru Firewall necomplicate și este dezvoltat pentru a ușura configurarea Firewall. În mod implicit, Nginx se înregistrează ca un serviciu cu UFW după instalare, facilitând configurarea accesului Nginx. Mai întâi, activați UFW introducând următoarea comandă:
sudo ufw enable
următoarea comandă listează configurația aplicației pe care o permite UFW:
sudo ufw app list
Iată un screengrab a ceea ce ar putea arăta terminalul dvs.:
afișează 3 profiluri disponibile pentru Nginx. Acestea sunt descrise mai jos:
- Nginx Full – deschide atât portul 80, cât și 443. Portul 80 este pentru trafic normal / necriptat, adică http. Portul 443 este pentru traficul criptat TLS/SSL. adică https.
- Nginx HTTP-se deschide numai portul 80.
- Nginx HTTPS – se deschide portul 443 numai.
ca recomandare, ar trebui să activați numai profilul care va permite traficul pe care l-ați configurat pentru aplicația dvs. web. În acest caz, vom merge cu Nginx HTTP (port 80), deoarece nu am configurat SSL. Următoarea comandă permite acest lucru:
sudo ufw allow 'Nginx HTTP'sudo ufw allow 'OpenSSH'
pentru a verifica modificarea, introduceți următoarea comandă:
sudo ufw status
terminalul dvs. ar trebui să arate ceva similar cu screengrab de mai jos. Observați că traficul HTTP este permis peste tot:
Pasul 3 – Verificarea serverului Web
după instalarea Nginx pe Ubuntu 18.04, serviciul pornește automat. Puteți testa acest lucru introducând următoarea comandă în terminalul dvs.:
systemctl status nginx
terminalul dvs. ar trebui să afișeze așa ceva:
aceasta arată că serviciul a fost pornit automat și că rulează. După cum știți deja, scopul principal al software-ului de server este de a servi conținut. Pentru a testa acest scop, va trebui să solicitați o pagină. Puteți face acest lucru accesând adresa IP a serverului dvs. din browser, care ar trebui să afișeze pagina de destinație Nginx implicită. Dacă nu cunoașteți adresa IP a serverului dvs., mai jos sunt câteva comenzi care vă ajută să o obțineți:
ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
mai jos este o altă comandă pe care o puteți utiliza. Acesta vă oferă adresa IP publică așa cum se vede din locații de pe internet:
curl -4 icanhazip.com
prima comandă vă primește o adresă așa cum se arată în terminalul de mai jos. Apoi, copiați – l și testați-l în browserul dvs.:
browserul dvs. încarcă pagina implicită Nginx care arată ca următoarea captură de ecran. Nginx rulează de fapt:
Pasul 4-Comenzi de bază de gestionare Nginx
ați văzut deja comanda care verifică starea Nginx:
systemctl status nginx
acum că avem serverul în funcțiune, iată câteva comenzi pe care ar trebui să le păstrați la îndemână pentru gestionarea serviciului Nginx. Aceste comenzi funcționează nu numai pe Ubuntu 18.04, ci și pe toate distribuțiile Linux.
pentru a opri serverul, introduceți următoarea comandă:
sudo systemctl stop nginx
pentru a porni serverul, introduceți următoarea comandă:
sudo systemctl start nginx
ori de câte ori faceți modificări semnificative, cum ar fi schimbarea porturilor sau interfețelor, trebuie să reporniți serverul web. Comanda de mai jos repornește serverul:
sudo systemctl restart nginx
ori de câte ori efectuați modificări minore de configurare, cum ar fi blocuri de server de editare, Nginx poate reîncărca fără cădere conexiuni. Iată comanda de reîncărcare:
sudo systemctl reload nginx
Nginx pornește automat serverul atunci când sistemul dvs. de operare Ubuntu pornește. Cu toate acestea, dacă doriți să modificați această setare, puteți dezactiva serviciul introducând comanda de mai jos:
sudo systemctl disable nginx
și puteți reactiva serviciul să pornească automat când porniți mașina data viitoare introducând:
sudo systemctl enable nginx
Pasul 5 – Configurarea blocurilor de Server
poate doriți să găzduiți mai multe site-uri web (domenii) pe un singur server web. Blocurile de Server vă vor ajuta să realizați acest lucru. Dacă ați folosit Apache înainte, blocurile de server din Nginx pot fi comparate cu Apache Vhosts. Din cutie, Nginx vine cu un bloc de server configurat pentru a rula din directorul /var/www/html, cel care a încărcat pagina implicită Nginx într-o secțiune de mai sus. Acest bloc de server este bine atunci când rulează un singur site. Cu toate acestea, rularea multor site-uri va fi o problemă.
vrem să creăm un alt site pe același server și să-l numim samplesite.com (acesta este doar un exemplu, ar trebui să îl înlocuiți cu propriul nume de domeniu).
în directorul / var / www/, creați un alt director pentru samplesite.com. lăsați implicit / var/www / html pentru a servi cereri care nu se potrivesc nici un alt site. Comanda de mai jos creează directorul pentru samplesite.com așa cum am descris. Steagul –p este de a asigura comanda creează orice directoare părinte necesare:
sudo mkdir -p /var/www/samplesite.com/html
pentru a permite accesul la director, trebuie să atribuiți dreptul de proprietate cu variabila de mediu $USER:
sudo chown -R $USER:$USER /var/www/samplesite.com/html
pentru a verifica dacă permisiunile pentru rădăcinile dvs. web sunt corecte, introduceți următoarea comandă:
sudo chmod -R 755 /var/www/samplesite.com
în continuare, permiteți încearcă să creeze un index simplu.html în samplesite.com director. Puteți deschide editorul nano ca:
nano /var/www/samplesite.com/html/index.html
comanda deschide un editor în terminalul dvs., adăugați următorul cod:
<html><head><title>Welcome to samplesite.com!</title></head><body><h1>Success! The samplesite.com server block is running fine!</h1></body></html>
tastați Ctrl + o, apoi apăsați Enter pentru a salva fișierul. Tastați Ctrl + X pentru a închide editorul.
după aceea, puteți crea blocul de server. În loc să editați și să aglomerați fișierul de configurare implicit, este recomandat să faceți unul nou la /etc/nginx/sites-available/samplesite.com. introduceți următoarea comandă pentru a deschide editorul nano:
sudo nano /etc/nginx/sites-available/samplesite.com
în editor, introduceți următorul cod, modificat pentru directorul pe care l-ați creat. Notă numele rădăcină și server_name se potrivește directorul nostru și domeniul pe care dorim să servească:
server { listen IP_ADDRESS:80; listen :80; root /var/www/samplesite.com/html; index index.html index.htm index.nginx-debian.html; server_name samplesite.com samplesite.com; location / { try_files $uri $uri/ =404; }}
apoi, salvați și închideți fișierul.
Nginx citește fișierele de configurare din Directorul activat site-uri, deci trebuie să creați o legătură simbolică din noul bloc de server în directorul activat site-uri. Următoarea comandă va face acest lucru:
sudo ln -s /etc/nginx/sites-available/samplesite.com /etc/nginx/sites-enabled/
acum aveți două blocuri de server care pot servi două site-uri web pe un server Nginx.
următoarea comandă Răspunde solicitărilor din domenii samplesite.com și www.samplesite.com.
curl samplesite.com
iar cea implicită va răspunde la orice solicitare care lovește portul 80 care nu se potrivește cu oricare dintre cele două blocuri de server:serverul dvs. Pentru a evita acest lucru, ar trebui să ajustați un singur fișier în nginx.fișier conf. Apoi, deschideți fișierul cu editorul nano:
sudo nano /etc/nginx/nginx.conf
apoi, găsiți Directiva: server_names_hash_bucket_size și eliminați Simbolul # pentru a-l decomenta, așa că arată astfel:
http { server_names_hash_bucket_size 64;}
apoi, salvați și închideți fișierul.
pentru a testa că toate fișierele Nginx nu au erori, trebuie să introduceți următoarea comandă:
sudo nginx -t
dacă totul este în regulă, ar trebui să vedeți ceva de genul:
pentru ca modificările de configurare să aibă efect, trebuie mai întâi să porniți serverul Nginx folosind comanda de mai jos:
sudo systemctl restart nginx
acum, intrați în domeniu și ar trebui să vedeți pagina HTML pe care am creat-o.
Pasul 6-fișiere importante Nginx și directoare pe care ar trebui să știți
- directorul principal de conținut
– / var / www / html: Pagina implicită nginx este stocată în acest director. Este conținutul real pe care îl vedeți când accesați adresa IP a serverului. Puteți schimba acest comportament modificând fișierele de configurare Nginx.
- directoare de configurare Nginx
–/etc / nginx: directorul principal care conține toate fișierele de configurare Nginx.
–/etc/nginx / nginx.conf: fișierul principal de configurare Nginx care poate fi modificat pentru a face modificări globale pe serverul Nginx.
–/etc/nginx/ sites-available/: este directorul în care stocați blocuri de server pe site. Toate blocurile de server sunt în acest folder. O legătură simbolică le va conecta la directorul activat site-uri. Dacă enumerăm conținutul acestui director, ar trebui să vedem blocul de server pe care l-am creat, precum și blocul implicit de server Nginx.
–/etc/nginx/ sites-enabled/: blocurile enable per-site server există în acest director. Acestea sunt legate de fișierele de configurare reale din directorul site-uri disponibile.
– /etc/nginx/snippets/: directorul în care stocați fragmente de configurare care pot fi incluse în alte configurații – de ex. fragmente de configurare repetitive.
- jurnalele serverului
–/var/log/nginx / access.jurnal: acest fișier înregistrează fiecare solicitare care atinge serverul dvs., cu excepția cazului în care ați configurat Nginx pentru a stoca într-un alt fișier sau pentru a face altceva.
– / var/log/nginx / eroare.jurnal: acest fișier înregistrează toate erorile Nginx. Aici veți veni să depanați atunci când serverul dvs. nu rulează așa cum era de așteptat.
concluzie
am ajuns la sfârșitul călătoriei. Ați instalat Nginx pe Ubuntu 18.04, firewall-uri configurate, blocuri de server configurate și a asigurat site-urile sunt accesibile în browser-ul dumneavoastră. Felicitări! Acum depinde de dvs. să vă dați seama ce conținut doriți să serviți utilizatorilor dvs.
fericit de calcul!