Kako instalirati Nginx na Fedora 35

Nginx je besplatni softver za HTTP poslužitelj otvorenog koda. Osim svojih mogućnosti HTTP poslužitelja, NGINX također može funkcionirati kao proxy poslužitelj za e-poštu (IMAP, POP3 i SMTP) te obrnuti proxy i balansiranje opterećenja za HTTP, TCP i UDP poslužitelje.

Cilj iza NGINX-a bio je stvoriti najbrži web poslužitelj na svijetu, a održavanje te izvrsnosti i dalje je središnji cilj Nginx projekta. NGINX dosljedno pobjeđuje Apache i druge poslužitelje u mjerilima mjerenja performansi web poslužitelja i sada je najpopularniji korišteni web poslužitelj prema W3Techu.

U tutorialu ćete naučiti kako instalirajte i konfigurirajte Nginx na Fedora 35 s besplatnim TLS/SSL certifikatom iz Let's Encrypt.

Preduvjeti

  • Preporučeni OS: Fedora Linux 35
  • Korisnički račun: Korisnički račun sa sudo ili root pristupom.

Ažurirajte operativni sustav

Ažurirajte svoj Fedora operativni sustav kako biste bili sigurni da su svi postojeći paketi ažurirani:

sudo dnf upgrade --refresh -y

Tutorial će koristiti sudo naredba i pod pretpostavkom da imate sudo status.

Za provjeru sudo statusa na svom računu:

sudo whoami

Primjer izlaza koji prikazuje sudo status:

[joshua@fedora ~]$ sudo whoami
root

Da biste postavili postojeći ili novi sudo račun, posjetite naš vodič na Dodavanje korisnika u Sudoers na Fedori.

Za korištenje root račun, upotrijebite sljedeću naredbu s root lozinkom za prijavu.

su

Oglas


Instalirajte Nginx Stable ili Mainline

Instalacija Nginxa je vrlo jednostavna na Fedora distribucijama s obzirom na šestomjesečna izdanja, a njegovo stalno ažuriranje paketa tijekom tog vremena znači da je Nginx, uglavnom, uvijek ažuran.

S obzirom da je Fedora navikla imati najažurnije pakete, prvo omogućite glavno spremište, koje Nginx preporučuje korištenje.

sudo dnf module enable nginx:mainline

Primjer rezultata:

Kako instalirati Nginx na Fedora 35

Upišite Y, zatim pritisnite ENTER TIPKA za nastavak instalacije.

Zatim otvorite svoj terminal i izvedite sljedeću naredbu za početak procesa instalacije.

sudo dnf install nginx

Primjer rezultata:

Kako instalirati Nginx na Fedora 35

Upišite Y, zatim pritisnite ENTER TIPKA za nastavak instalacije.

Nakon instalacije, potvrdite instalaciju provjerom verzije Nginxa.

nginx -v

Primjer izlaza (koristeći primjer glavne linije):

nginx version: nginx/1.21.3

Prema zadanim postavkama, usluga Nginx nije omogućena niti aktivna nakon instaliranja. Da biste omogućili Nginx, koristite sljedeću naredbu.

sudo systemctl enable nginx --now

Sada provjerite status usluge kako biste potvrdili da Nginx radi bez ikakvih pogrešaka.

systemctl status nginx

Primjer rezultata:

Kako instalirati Nginx na Fedora 35

Kao što je gore navedeno, status bi trebao biti aktivan (trčanje). U ovom trenutku ste instalirali Nginx aplikaciju.

Konfigurirajte pravila vatrozida

Prema zadanim postavkama, instalacija ne dodaje automatski pravila vatrozida standardu port 80 ili 443 port prilikom instalacije Nginxa. Prije nego što nastavite, trebate postaviti sljedeća pravila, to će ovisiti o tome koje ćete portove koristiti, ali sve su opcije navedene.

Otvorite port 80 ili HTTP:

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

Otvorite port 443 ili HTTPS:

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

Ponovno učitajte vatrozid da promjene stupe na snagu

sudo firewall-cmd --reload

Oglas


Konfigurirajte Nginx

Morat ćete imati spremnu IP adresu poslužitelja za postavljanje. Najlakši način da to učinite je sljedećim.

Pronađite IP adresu poslužitelja

Morat ćete imati pripremljenu IP adresu poslužitelja za postavljanje. Najlakši način da to učinite je sljedećim.

curl -4 icanhazip.com

Primjer rezultata:

XXX.XXX.XXX.XXX IP address

Ako naredbe ne rade, vjerojatno nemate instaliran curl paket. Pokrenite sljedeću naredbu:

sudo dnf install curl -y

Nakon što dobijete IP adresu svog poslužitelja, otvorite svoj omiljeni internetski preglednik i provjerite radi li zadana odredišna stranica.

http://your_server_ip

Trebali biste dobiti sljedeću stranicu u svom internet pregledniku.

Primjer:

Kako instalirati Nginx na Fedora 35

Postavite izvorni direktorij web-mjesta

U tutorialu ćete postaviti domenu pod nazivom example.com, ali trebali biste zamijenite ovo imenom svoje domene. Vodič će stvoriti web imenike i konfigurirati datoteke web mjesta u nadređenom direktoriju / var / www /.

Prvo stvorite imenik za example.com, kako slijedi, koristeći "-p" označite za izradu svih potrebnih roditeljskih direktorija:

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

Drugo, morat ćete dodijeliti vlasnika imenika.

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

Treće, dodijelite dopuštenja direktoriju, tako da vlasnik čita, piše i izvršava datoteke dok daje dopuštenja samo za čitanje i izvršavanje grupama i drugima. Možete unijeti sljedeću naredbu:

sudo chmod -R 755 /var/www/your_domain

Alternativno, možete koristiti / Usr / share / Nginx / html umjesto toga imenik, ali / Var / www Metoda imenika preporučuje se novim korisnicima.

Postavite testnu HTML stranicu

Četvrto, stvorite testnu stranicu koju ćete koristiti da potvrdite da vaš Nginx poslužitelj radi.

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

Unutar nano uređivača i nove datoteke ste stvorili. Unesite sljedeće.

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

Spremite datoteku (CTRL+O), zatim izađi (CTRL+X).

Napravite blok poslužitelja Nginx

Prema zadanim postavkama, blok poslužitelja Nginx, sličan virtualnim hostovima Apachea, obrađuje se u /etc/nginx/conf.d imenik. Međutim, instalacija Nginxa razlikuje se od različitih verzija i distribucija koje koriste bilo koji konf.d or web-lokacije-dostupne/web-lokacije-omogućene prema zadanim postavkama. Za tutorial će se imenici stranice koristiti za održavanje standarda.

Prvo napravite direktorije potrebne za web stranice dostupne i web-mjesta omogućena.

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

Zatim otvorite datoteku nginx.conf i uklonite ili komentirajte datoteku "uključi /etc/nginx/default.d/*.conf;".

sudo nano /etc/nginx/nginx.conf

Zatim, izravno ispod njega dodajte uključiti “/etc/nginx/sites-enabled/*.conf;”.

Samo primjer:

# 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;
}

Kao što je gore navedeno, a "#" komentar je dodan u uključiti konf.d linija i uključiti web-lokacije je dodan.

Spremite datoteku (CTRL+O) i izlaz (CTRL+X).

Zatim stvorite konfiguracijsku datoteku bloka poslužitelja. Ime your_domain.conf koristit će se za tutorial, ali ovo se može imenovati kako god želite.

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

Sljedeći primjer koda možete zalijepiti u blok. Ovo je samo jedan Primjer samo za HTTP za osnovno ispitivanje.

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;
 }
}

Primjer pokazuje da vaš poslužitelj osluškuje dva imena poslužitelja, "vaša_domena" na luci 80.

Morat ćete promijeniti korijenski direktorij u ime/lokaciju korijenskog direktorija koji ste stvorili.

Omogućeno blokiranje Nginx poslužitelja

Morate povezati konfiguracijske datoteke s web-mjesta-dostupnih na web-mjestima s omogućenim u vašem Nginx direktoriju kako biste omogućili blokove Nginx poslužitelja. To se može učiniti naredbom ln -s na sljedeći način.

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

Konačna konfiguracija i probni rad

U završnoj fazi morat ćete otvoriti zadani nginx.conf file.

sudo nano /etc/nginx/nginx.conf

I dekomentirajte sljedeći redak.

server_names_hash_bucket_size 64;

Veličina hash bucketa naziva poslužitelja se mijenja jer ponekad nastaju problemi zbog dodavanja dodatnih poslužitelja.

Zatim testirajte svoj Nginx kako biste bili sigurni da radi prije pravilnog ponovnog pokretanja.

sudo nginx -t

Izlaz bi trebao biti ako nema pogrešaka u sintaksi:

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

Ako imate sljedeći u redu izlaz, ponovno pokrenite Nginx poslužitelj kako bi se promjene izvršile.

sudo systemctl restart nginx

Sada otvorite svoj internetski preglednik i upišite naziv domene poslužitelja. Trebali biste vidjeti da je vaš blok poslužitelja aktivan.

Kako instalirati Nginx na Fedora 35

Osigurajte Nginx s Let's Encrypt SSL Free certifikatom

U idealnom slučaju, želite pokrenuti svoj Nginx HTTPS pomoću SSL certifikata. Najbolji način da to učinite je korištenje Hajdemo šifrirati, besplatno, automatizirano i otvoreno certifikacijsko tijelo koje vodi neprofitna grupa za istraživanje internetske sigurnosti (ISRG).

Ugradite certbot paket kako slijedi:

sudo dnf install python3-certbot-nginx -y

Nakon instalacije, pokrenite sljedeću naredbu da započnete kreiranje certifikata:

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

Ovo je idealno postavljanje koje uključuje prisilno HTTPS 301 preusmjeravanje, zaglavlje Strict-Transport-Security i OCSP spajanje. Samo pazite da prilagodite e-poštu i naziv domene svojim zahtjevima.

Sada će vaš URL biti HTTPS://www.example.com umjesto HTTP://www.example.com.

Napomena, ako koristite stari HTTP URL, automatski će se preusmjeriti na HTTPS.

Po želji, možete postaviti cron posao za automatsko obnavljanje certifikata. Certbot nudi skriptu koja to radi automatski, a prvo možete testirati kako biste bili sigurni da sve radi tako što ćete izvesti suho izvođenje.

sudo certbot renew --dry-run

Ako sve radi, otvorite prozor crontab pomoću sljedeće terminalske naredbe.

sudo crontab -e

Zatim odredite vrijeme kada se treba automatski obnoviti. To bi trebalo provjeravati najmanje svaki dan, a ako certifikat treba obnoviti, skripta neće ažurirati certifikat. Ako trebate pomoć u pronalaženju dobrog vremena za postavljanje, upotrijebite crontab.guru besplatni alat.

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

UŠTEDI (CTRL+O) zatim izađi (CTRL+X), i cronjob će biti automatski omogućen.


Oglas


Upravljanje uslugom Nginx

Sada kada je Nginx uspješno pokrenut na vašem poslužitelju, neke ključne riječi o upravljanju su sljedeće.

Za zaustavljanje Nginx web poslužitelja:

sudo systemctl stop nginx

Za pokretanje Nginx web poslužitelja:

sudo systemctl start nginx

Za ponovno pokretanje Nginx web poslužitelja:

sudo systemctl restart nginx

Za ponovno učitavanje Nginx web poslužitelja (Za više manjih promjena koje ne zahtijevaju ponovno pokretanje):

sudo systemctl reload nginx

Da biste onemogućili Nginx pri pokretanju poslužitelja:

sudo systemctl disable nginx

Za pokretanje Nginxa pri pokretanju poslužitelja (Automatski omogućeno prilikom instalacije):

sudo systemctl enable nginx

Kako pristupiti zapisnicima Nginx poslužitelja

Nginx direktorij dnevnika

Prema zadanim postavkama, svi NGINX zapisnici pristupa/pogreška, osim ako ih niste promijenili, nalaze se u direktoriju dnevnika koji može vidjeti sljedeća naredba.

Prvo idite do direktorija dnevnika i datoteka s popisom:

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

Trebali biste pronaći sljedeće datoteke pristupa i pogrešaka:

Dnevnik pristupa:

/var/log/nginx/access.log

Zapisnik pogrešaka:

/var/log/nginx/error.log

Za pregled zapisnika u stvarnom vremenu na vašem terminalu pomoću naredbe sudo tail -f /location/of/log path.

Primjer:

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

Druga je mogućnost ispisati zadnjih X redaka. Na primjer, X se zamjenjuje s 30 za ispis 30 redaka dodavanjem -n 30 zastava.

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

Ovo su samo neki primjeri čitanja dnevnika, a grep također može biti od pomoći.

Kako konfigurirati rotiranje dnevnika Nginxa

Nginx automatski instalira rotaciju dnevnika i konfigurira je na zadanu vrijednost koja će se rotirati svakodnevno. Ove postavke možete promijeniti tako da pristupite datoteci kao što je prikazano u nastavku.

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

Zatim ćete vidjeti istu, ako ne i sličnu strukturu datoteke. Ovdje možete mijenjati sadržaj. Uglavnom možete promijeniti broj dnevnika za čuvanje ili prijeći s dnevnih na tjedni. Ovo bi trebalo ostaviti na zadanom, osim ako nemate posebne potrebe za evidencijom za softver kao što je praćenje fail2ban ili slično.

/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
}

Glavne postavke koje ćete vjerojatno htjeti promijeniti su sljedeće:

  • dnevno – Ovo se može promijeniti u Tjedno, Mjesečno. Ovo bi se trebalo održavati svakodnevno, inače će biti teško proći kroz datoteku dnevnika.
  • Zakreni 14 – Ovo je koliko zapisnika treba zadržati i ukloniti, tako da na maksimumu ima samo 14 dnevnika, ako želite zadržati samo 7 dana vrijedne zapisnika promijenite ovo na 7.

Preporuča se da ne dodirujete druge postavke osim ako znate što radite.


Oglas


Kako ažurirati Nginx

Nginx će se ažurirati prema zadanim postavkama kada nova verzija stigne u spremišta. Prije nadogradnje uvijek se savjetuje da napravite sigurnosnu kopiju svog Nginx direktorija ili, u najmanju ruku, nginx.conf datoteka. Možete učiniti bilo što pomoću sljedeće naredbe.

Sigurnosno kopirajte nginx.conf (vrlo preporučljivo):

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

Napravite sigurnosnu kopiju cijele mape Nginx ako želite:

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

Zatim pokrenite standardnu ​​naredbu za ažuriranje.

sudo dnf upgrade --refresh

Ako je dostupna nadogradnja, pokrenite je.

Možda će vam se to zatražiti tijekom nadogradnje ili instalacije, ali ručno je to učiniti prije vrlo bitno. Za velike konfiguracije Nginxa na više stranica, sigurnosna kopija na nešto poput Githuba ili Gitlaba bila bi još korisnija.

Kako ukloniti (deinstalirati) Nginx

Da biste uklonili Nginx ako ga više ne koristite, to možete učiniti pomoću sljedeće naredbe:

sudo dnf autoremove nginx

Ova naredba također će ukloniti sve neiskorištene ovisnosti koje ste dobili s instalacijom.

Da biste vratili nginx modul s glavne linije na zadano, upotrijebite sljedeću naredbu.

sudo dnf modules reset nginx

Oglas


Komentari i zaključak

U tutorialu ste naučili instalirati i postaviti osnovnu konfiguraciju Nginxa na svoju domenu na Fedora 35 radnoj stanici ili poslužitelju, zajedno s kreiranjem besplatnog SSL certifikata pomoću Let's Encrypt. Općenito, Nginx je trenutno najkorišteniji i najpopularniji softver za web aplikacije, a svaki mjesec i godina nadmašuju Apacheu koji uzima sve veći tržišni udio.

Počinju se pojavljivati ​​neki novi kandidati, kao što je Openlitespeed, ali s obzirom na ove druge web aplikacije, za sada se usredotočite na određene stvari poput WordPressa. Nginx će neko vrijeme biti glavna web aplikacija.

Pretplati me
Obavijesti o
0 Komentari
Umetne povratne informacije
Pogledajte sve komentare
0
Volio bih vaše misli, molim vas komentirajte.x