Nginx

Kako namestiti Nginx in nastaviti na CentOS 8

Kako namestiti Nginx in nastaviti na CentOS 8
Nginx je hiter in lahek spletni strežnik. Konfiguracijske datoteke Nginxa so zelo preproste in enostavne za delo. Je odlična alternativa spletnemu strežniku Apache.  V tem članku vam bom pokazal, kako namestite in konfigurirate spletni strežnik Nginx na CentOS 8. Torej, začnimo.

Namestitev Nginxa:

Nginx je na voljo v uradnem skladišču paketov CentOS 8. Torej je zelo enostaven za namestitev.

Najprej posodobite predpomnilnik repozitorija paketov DNF, kot sledi:

$ sudo dnf makecache

Zdaj namestite Nginx z naslednjim ukazom:

$ sudo dnf namestite nginx

Za potrditev namestitve pritisnite Y in nato pritisnite .

Namestiti je treba Nginx.

Upravljanje storitve nginx:

Privzeto, nginx storitev mora biti neaktivni (ne teče) in onemogočeno (ne zažene se samodejno ob zagonu).

$ sudo systemctl status nginx

Lahko začnete nginx storitev, kot sledi:

$ sudo systemctl start nginx

nginx storitev mora biti teče.

$ sudo systemctl status nginx

Zdaj pa dodaj nginx storitev za zagon sistema, kot sledi:

$ sudo systemctl omogoči nginx

Konfiguriranje požarnega zidu:

Za dostop do spletnega strežnika Nginx iz drugih računalnikov v omrežju morate požarni zid konfigurirati tako, da omogoča dostop do vrat HTTP 80 in HTTPS 443.

Dostop do vrat HTTP in HTTPS lahko dovolite z naslednjim ukazom:

$ sudo firewall-cmd --add-service = http, https - trajno

Zdaj, da spremembe začnejo veljati, zaženite naslednji ukaz:

$ sudo firewall-cmd --reload

Testiranje spletnega strežnika:

Za dostop do njega morate poznati naslov IP ali ime domene spletnega strežnika Nginx.

Naslov IP spletnega strežnika Nginx najdete z naslednjim ukazom:

$ ip a

V mojem primeru je naslov IP 192.168.20.175. Za vas bo drugače. Zato ga odslej zamenjajte s svojim.

Zdaj obiščite http: // 192.168.20.175 iz vašega spletnega brskalnika. Morali bi videti naslednjo stran. To pomeni, da spletni strežnik Nginx deluje.

Konfiguracijske datoteke nginx:

Konfiguracijske datoteke spletnega strežnika Nginx so v / etc / nginx / imenik.

$ drevo / etc / nginx

/ etc / nginx / nginx.conf je glavna konfiguracijska datoteka Nginx.

Privzeti spletni korenski imenik spletnega strežnika Nginx je / usr / share / nginx / html /. Torej, tu bi morali hraniti datoteke spletnega mesta.

Nastavitev osnovnega spletnega strežnika:

V tem poglavju vam bom pokazal, kako nastaviti osnovni spletni strežnik Nginx.

Najprej naredite varnostno kopijo izvirne konfiguracijske datoteke Nginx z naslednjim ukazom:

$ sudo mv -v / etc / nginx / nginx.conf / etc / nginx / nginx.conf.original

Zdaj ustvarite novo konfiguracijsko datoteko Nginx, kot sledi:

$ sudo nano / etc / nginx / nginx.conf

Zdaj vnesite naslednje vrstice v / etc / nginx / nginx.conf datoteko in jo shranite.

uporabnik nginx nginx;
worker_proces auto;
error_log / var / log / nginx / error.dnevnik;
pid / run / nginx.pid;
 
dogodki
worker_connections 1024;

 
http
vključuje / etc / nginx / mime.vrste;
default_type aplikacija / oktet-tok;
 
strežnik
poslušaj 80;
primer strežnika_ime.com www.primer.com;
root / usr / share / nginx / html;
indeksni indeks.html;
dostop_log / var / dnevnik / nginx / dostop.dnevnik;

Tukaj, uporabnik možnost se uporablja za nastavitev uporabnika in skupine Nginx na nginx oz.

The dnevnik_napak možnost se uporablja za nastavitev poti datoteke dnevnika napak na / var / log / nginx / napaka.log. Tu bodo shranjene napake, povezane s strežnikom Nginx.

Glavna konfiguracija strežnika Nginx je definirana v strežnik odsek znotraj http odsek. Določite jih lahko več strežnik odsek znotraj http po potrebi.

V strežnik odsek,

poslušaj možnost se uporablja za konfiguriranje Nginxa za poslušanje vrat 80 (vrata HTTP) za spletne zahteve.

ime_strežnika možnost se uporablja za nastavitev enega ali več imen domen za spletni strežnik Nginx. Če so nastavitve DNS pravilne, lahko do spletnega strežnika Nginx dostopate s pomočjo teh domenskih imen.

dostop_log se uporablja za nastavitev poti do datoteke dnevnika dostopa na / var / log / nginx / access.log. Ko nekdo poskuša dostopati do spletnega strežnika Nginx, se informacije o dostopu (tj.e. Naslov IP, URL, koda stanja HTTP) bodo zabeleženi v to datoteko.

The lokacijo možnost se uporablja za nastavitev korenskega imenika spletnega strežnika Nginx.

Tukaj koren imenik je / usr / share / nginx / html /.

Tu je treba hraniti vse datoteke spletnega mesta. The indeks naborov možnosti indeks.html kot privzeta datoteka, ki jo želite uporabiti, če ni zahtevana nobena posebna datoteka. Če na primer obiščete http: // 192.168.20.175 / myfile.html, nato se vrnete Nginx myfile.html mapa. Če pa obiščete http: // 192.168.20.175 /, potem vam bo Nginx poslal indeks.html, ker ni bila zahtevana nobena posebna datoteka.

Zdaj odstranite vse datoteke iz / usr / share / nginx / html / imenik (spletni koren), kot sledi:

$ sudo rm -rfv / usr / share / nginx / html / *

Zdaj ustvarite novo indeks.html v datoteki / usr / share / nginx / html / imenik, kot sledi:

Zdaj vnesite naslednje vrstice v indeks.html datoteko in jo shranite.

Pozdravljen, svet


© 2020 LinuxHint.com

Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

Zdaj obiščite http: // 192.168.20.175 iz vašega spletnega brskalnika in videli bi naslednjo stran. čestitke! Nastavili ste svoj prvi spletni strežnik Nginx.

Konfiguriranje strani z napakami:

Strani z napakami lahko konfigurirate v Nginxu. Če na primer stran / datoteka / imenik ni na voljo, bo brskalniku vrnjena koda stanja HTTP 404. Za kodo stanja HTTP 404 lahko nastavite stran z napako HTML po meri, ki bo vrnjena v brskalnik.

Če želite to narediti, dodajte naslednjo vrstico v strežnik odsek nginx.conf mapa.

strežnik
..
stran z napako 404/404.html;
..

Zdaj ustvarite datoteko 404.html v spletnem korenu Nginx / usr / share / nginx / html / kot sledi:

$ sudo nano / usr / share / nginx / html / 404.html

Zdaj vnesite naslednje vrstice v 404.html in shranite datoteko.

Napaka 404


Stran ni najdena


© 2020 LinuxHint.com

Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

Zdaj poskusite dostopati do neobstoječe poti (http: // 192.168.20.175 / nopage.html) in videli bi naslednjo stran z napakami.

Če je 404.html datoteka je v drugi poti datotečnega sistema (recimo / usr / share / nginx / html / napake / imenik), lahko preslikate URL / 404.html temu sledi:

strežnik
..
stran z napako 404/404.html;
lokacija / 404.html
root / usr / share / nginx / html / napake;

..

Zdaj pa naredite nov imenik  / usr / share / nginx / html / napake / kot sledi:

$ sudo mkdir / usr / share / nginx / html / napake

Zdaj ustvarite novo datoteko 404.html v imeniku / usr / share / nginx / html / napake / kot sledi:

$ sudo nano / usr / share / nginx / html / napake / 404.html

Zdaj vnesite naslednje vrstice v 404.html datoteko in jo shranite.

STRAN NI NAJDENA


POJDI NAZAJ DOMOV

Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

Zdaj poskusite dostopati do neobstoječe poti (http: // 192.168.20.175 / nopage.html) in videli bi posodobljeno stran z napakami.

Na enak način lahko nastavite stran z napakami za druge kode stanja HTTP.

Isto stran napake lahko nastavite tudi za več kod stanja HTTP. Na primer, da nastavite isto stran z napako / 404.html za kode stanja HTTP 403 in 404, Napiši stran z napako možnost, kot sledi:

stran z napako 403 404/404.html;

Konfiguriranje dnevnikov:

V Nginxu je dnevnik_napak in dostop_log možnosti se uporabljajo za beleženje sporočil o napakah in dostop do informacij.

Oblika dnevnik_napak in dostop_log možnosti so:

dnevnik_napak / pot / do / napake / dnevnika / datoteke [neobvezno: ime-dnevnika po meri];
dostop_dnevnik / pot / do / dostop / dnevnik / datoteka [neobvezno: ime-dnevnika po meri];

Če želite, lahko določite lasten dnevnik napak in dostopate do zapisov.

Če želite to narediti, uporabite log_format možnost v http v tem razdelku določite obliko dnevnika po meri, kot sledi.

http
..
log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
..
strežnik
..
dostop_log / var / dnevnik / nginx / dostop.dnevnik preprost;
..

Tukaj je ime zapisa dnevnika preprosto. Nekatere spremenljivke nginx se uporabljajo za določanje oblike zapisa dnevnika po meri. Obiščite priročnik za vdelane spremenljivke Nginx, če želite izvedeti več o vseh spremenljivkah Nginx.

Oblika dnevnika po meri mora biti v enojnih narekovajih. Format dnevnika je mogoče definirati v eni ali več vrsticah. V tem članku sem pokazal, kako določiti obliko dnevnika v več vrsticah. Z enovrstnim zapisom dnevnika ne boste imeli težav, verjemite mi!

Ko je zapis dnevnika preprosto je opredeljeno, dostop_log možnost se uporablja, da Nginxu pove, naj ga uporabi kot dnevnik dostopa.

Na enak način lahko nastavite format dnevnika napak po meri s pomočjo dnevnik_napak možnost.

V tem članku sem konfiguriral samo obliko dnevnika po meri za dnevnik dostopa.

Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

Zdaj lahko datoteko dnevnika dostopa spremljate na naslednji način:

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

Datoteko dnevnika napak lahko spremljate tudi na naslednji način:

$ sudo tail -f / var / log / nginx / error.log

Če želite, lahko hkrati spremljate dnevnike dostopa in datoteke dnevnika napak, kot sledi:

$ sudo tail -f / var / log / nginx / napaka, dostop.log

Kot lahko vidite, se uporablja nova oblika dnevnika dostopa.

Zavrnitev dostopa do določenih poti:

Regularne izraze lahko uporabite za ujemanje določenih poti URI in zavrnitev dostopa do njih v Nginxu.

Recimo, da vaše spletno mesto upravlja Git in želite zavrniti dostop do .git / v spletnem korenu.

Če želite to narediti, v vrstico vnesite naslednje vrstice strežnik odsek / etc / nging / nginx.conf mapa:

strežnik
..
lokacija ~ \.git
zanikati vse;

..

Kot lahko vidite, dostop do katere koli poti, ki vsebuje .git je zavrnjena.

Konfiguriranje stiskanja:

Spletno vsebino lahko stisnete, preden jo pošljete v brskalnik gzip da prihranite pasovno širino uporabe spletnega strežnika Nginx.

Nekaj ​​slik JPEG imam v / usr / share / nginx / html / images / imenik.

Do teh slik lahko dostopam s pomočjo poti URI / slike.

Če želite omogočiti stiskanje gzip samo za slike JPEG na poti URI / slike, vnesite naslednje vrstice v strežnik odsek / etc / nginx / nginx.conf mapa.

strežnik
..
lokacija / slike
gzip naprej;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;

..

Tukaj, gzip_comp_level se uporablja za nastavitev stopnje stiskanja. Lahko je poljubno število od 1 do 9. Višja kot je raven, manjša bo stisnjena datoteka.

Datoteka bo stisnjena le, če je velikost datoteke višja gzip_min_length. V tem primeru sem nastavil na približno 100 KB. Torej datoteke JPEG, manjše od 100 KB, ne bodo stisnjene v gzip.

The  gzip_types se uporablja za nastavitev vrste mime datotek, ki bodo stisnjene.

Tip mime lahko najdete v priponah datotek, kot sledi:

$ grep jpg / etc / nginx / mime.vrste

Kot lahko vidite, za .jpg ali .jpeg končnica datoteke, vrsta mime je slika / jpeg.

Z uporabo lahko nastavite eno ali več vrst mima gzip_types možnost.

Če želite nastaviti več vrst mime, jih ločite s presledki, kot sledi:

"
gzip_types image / jpeg image / png image / gif;

Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

Kot lahko vidite, Nginx na zahtevo brskalniku pošlje stisnjene slikovne datoteke gzip.

Kot lahko vidite na spodnjem posnetku zaslona, ​​je stisnjena datoteka gzip manjša od izvirne datoteke.

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

Omogočanje HTTPS:

SSL v Nginxu lahko omogočite zelo enostavno. V tem poglavju vam bom pokazal, kako nastavite samopodpisano potrdilo SSL v Nginxu.

Najprej se pomaknite do / etc / ssl / imenik, kot sledi:

$ cd / etc / ssl

Zdaj ustvarite ključ SSL strežnik.tipko in potrdilo strežnik.crt z naslednjim ukazom:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
strežnik.strežniški ključ.crt

OPOMBA: Moraš imeti openssl nameščen, da to deluje. Če ukaz openssl ni na voljo, namestite openssl z naslednjim ukazom:

$ sudo dnf install openssl -y

Zdaj vnesite dvočrkovno kodo države (i.e. ZDA za ZDA, Velika Britanija za Združeno kraljestvo, RU za Rusijo, CN za Kitajsko) in tisk .

Zdaj vnesite ime države / province in pritisnite .

Zdaj vnesite ime mesta in pritisnite .

Zdaj vnesite ime svojega podjetja in pritisnite .

Zdaj vnesite ime organizacijske enote vašega podjetja, ki bo uporabljalo to potrdilo, in pritisnite .

Zdaj vnesite popolnoma kvalificirano domensko ime (FQDN) spletnega strežnika Nginx in pritisnite . Potrdilo SSL bo veljavno le, če s tem domenskim imenom dostopate do spletnega strežnika Nginx.

Zdaj vnesite svoj e-poštni naslov in pritisnite .

Vaše potrdilo SSL mora biti pripravljeno.

Potrdilo SSL in ključ je treba ustvariti v / etc / ssl / imenik.

$ ls -lh

Zdaj odprite konfiguracijsko datoteko Nginx / etc / nginx / nginx.conf in spremembe poslušaj pristanišče do 443 in vnesite naslednje vrstice v strežnik odsek.

strežnik
..
ssl vklopljen;
ssl_certificate / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.ključ;
..

Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

V resničnem življenju boste pravilno nastavili DNS. Toda za namen testiranja sem v računalniku, iz katerega sem dostopal do spletnega strežnika Nginx, konfiguriral lokalno domensko ime na osnovi datotek.

Če želite nadaljevati, odprite / etc / hosts datoteka, kot sledi:

$ sudo nano / etc / hosts

Nato v vrstico dodajte naslednjo vrstico / etc / hosts mapa.

192.168.20.175 www.primer.com

Zdaj poskusite obiskati https: // www.primer.com in videli bi naslednjo stran. Boš videl Vaša povezava ni varna sporočilo, ker gre za samopodpisano potrdilo. To je dobro samo za preizkušanje.

V resnici boste potrdila SSL kupovali pri overiteljih (CA) in jih uporabljali. Torej te vrste sporočila ne boste videli.

Kot lahko vidite, je Nginx spletno stran prikazoval prek protokola HTTPS. Torej, SSL deluje.

Informacije o SSL na spletnem mestu www.primer.com.

Preusmerjanje zahtev HTTP na HTTPS:

Če nekdo obišče vaše spletno mesto prek protokola HTTP (http: // www.primer.com ali http: // 192.168.20.175) namesto HTTPS (https: // www.primer.com), ne želite zavrniti zahteve HTTP. Če to storite, boste izgubili obiskovalca. V resnici morate uporabnika preusmeriti na spletno mesto z omogočenim SSL. To je res enostavno narediti.

Najprej odprite konfiguracijsko datoteko Nginx / etc / nginx / nginx.conf in ustvarite novo strežnik odsek znotraj http oddelek, kot sledi:

http
..
strežnik
poslušaj 80;
ime_strežnika www.primer.com;
vrni 301 https: // www.primer.com $ request_uri;

..

To je končno / etc / nginx / nginx.conf mapa:

uporabnik nginx nginx;
worker_proces auto;
error_log / var / log / nginx / error.dnevnik;
pid / run / nginx.pid;
dogodki
worker_connections 1024;

http
vključuje / etc / nginx / mime.vrste;
default_type aplikacija / oktet-tok;
log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
 
strežnik
poslušaj 80;
ime_strežnika www.primer.com;
vrni 301 https: // www.primer.com $ request_uri;

strežnik
poslušaj 443;
ime_strežnika www.primer.com;
ssl vklopljen;
ssl_certificate / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.ključ;
dostop_log / var / dnevnik / nginx / dostop.dnevnik preprost;
lokacija /
root / usr / share / nginx / html;
indeksni indeks.html;

lokacija / slike
gzip naprej;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;

stran z napako 404/404.html;
lokacija / 404.html
root / usr / share / nginx / html / napake;

lokacija ~ \.git
zanikati vse;


Zdaj znova zaženite nginx storitev, kot sledi:

$ sudo systemctl znova zaženite nginx

Zdaj, če poskušate dostopati do http: // 192.168.20.175 ali http: // www.primer.com, preusmerjeni boste na https: // www.primer.com.

Torej, tako namestite in konfigurirate spletni strežnik Nginx na CentOS 8. Hvala, ker ste prebrali ta članek.

Najboljše aplikacije za preslikavo gamepadov za Linux
Če želite igre na Linuxu igrati z igralno ploščico namesto s tipičnim sistemom za vnos tipkovnice in miške, je za vas na voljo nekaj uporabnih aplikac...
Uporabna orodja za igralce Linux
Če radi igrate igre na Linuxu, obstaja verjetnost, da ste za izboljšanje igralne izkušnje uporabljali aplikacije in pripomočke, kot so Wine, Lutris in...
HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...