Nginx

Kā instalēt Nginx un konfigurēt CentOS 8

Kā instalēt Nginx un konfigurēt CentOS 8
Nginx ir ātrs un viegls tīmekļa serveris. Nginx konfigurācijas faili ir patiešām vienkārši un ar tiem viegli strādāt. Tā ir lieliska alternatīva Apache tīmekļa serverim.  Šajā rakstā es jums parādīšu, kā CentOS 8 instalēt un konfigurēt Nginx tīmekļa serveri. Tātad, sāksim darbu.

Nginx instalēšana:

Nginx ir pieejams CentOS 8 oficiālajā pakotņu krātuvē. Tātad, to ir ļoti viegli uzstādīt.

Vispirms atjauniniet DNF pakotnes krātuves kešatmiņu šādi:

$ sudo dnf makecache

Tagad instalējiet Nginx ar šādu komandu:

$ sudo dnf instalējiet nginx

Lai apstiprinātu instalēšanu, nospiediet un pēc tam nospiediet .

Jāinstalē Nginx.

Nginx pakalpojuma pārvaldība:

Pēc noklusējuma, ninks pakalpojumam jābūt neaktīvs (nedarbojas) un invalīdiem (netiks automātiski startēts sāknēšanas laikā).

$ sudo systemctl statuss nginx

Jūs varat sākt ninks pakalpojumu:

$ sudo systemctl start nginx

ninks pakalpojumam jābūt skriešana.

$ sudo systemctl statuss nginx

Tagad pievienojiet ninks pakalpojums sistēmas startēšanai ir šāds:

$ sudo systemctl iespējojiet nginx

Ugunsmūra konfigurēšana:

Lai piekļūtu Nginx tīmekļa serverim no citiem tīkla datoriem, ir jākonfigurē ugunsmūris, lai atļautu piekļuvi HTTP 80. un HTTPS portam 443.

Piekļuvi HTTP un HTTPS portiem varat atļaut ar šādu komandu:

$ sudo firewall-cmd --add-service = http, https - pastāvīgs

Tagad, lai izmaiņas stātos spēkā, palaidiet šādu komandu:

$ sudo firewall-cmd - reload

Tīmekļa servera pārbaude:

Lai piekļūtu tai, jums jāzina Nginx tīmekļa servera IP adrese vai domēna nosaukums.

Nginx tīmekļa servera IP adresi varat atrast ar šādu komandu:

$ ip a

Manā gadījumā IP adrese ir 192.168. lpp.20.175. Jums būs savādāk. Tātad, turpmāk noteikti nomainiet to ar savu.

Tagad apmeklējiet vietni http: // 192.168. lpp.20.175 no jūsu tīmekļa pārlūkprogrammas. Jums vajadzētu redzēt šo lapu. Tas nozīmē, ka Nginx tīmekļa serveris darbojas.

Nginx konfigurācijas faili:

Nginx tīmekļa servera konfigurācijas faili atrodas / etc / nginx / direktorijā.

$ koks / etc / nginx

/ etc / nginx / nginx.konf ir galvenais Nginx konfigurācijas fails.

Nginx tīmekļa servera noklusējuma tīmekļa saknes direktorijs ir / usr / share / nginx / html /. Tātad, šeit jums vajadzētu saglabāt savas vietnes failus.

Pamata tīmekļa servera iestatīšana:

Šajā sadaļā es jums parādīšu, kā iestatīt pamata Nginx tīmekļa serveri.

Vispirms veiciet oriģināla Nginx konfigurācijas faila dublējumu ar šādu komandu:

$ sudo mv -v / etc / nginx / nginx.conf / etc / nginx / nginx.konf.oriģināls

Tagad izveidojiet jaunu Nginx konfigurācijas failu šādi:

$ sudo nano / etc / nginx / nginx.konf

Tagad ierakstiet šādās rindā / etc / nginx / nginx.konf failu un saglabājiet failu.

lietotājs nginx nginx;
darbinieks_processs auto;
error_log / var / log / nginx / kļūda.žurnāls;
pid / run / nginx.pid;
 
notikumi
strādnieku_savienojumi 1024;

 
http
ietver / etc / nginx / mime.veidi;
default_type application / octet-stream;
 
serveris
klausīties 80;
servera_nosaukuma piemērs.com www.piemērs.com;
root / usr / share / nginx / html;
indeksa indekss.html;
access_log / var / log / nginx / piekļuve.žurnāls;

Šeit, lietotājs opcija tiek izmantota, lai iestatītu Nginx palaist lietotāju un grupu uz ninks attiecīgi.

The error_log opciju izmanto, lai iestatītu kļūdu žurnāla faila ceļu uz / var / log / nginx / kļūda.žurnāls. Šeit tiks saglabātas kļūdas, kas saistītas ar Nginx serveri.

Galvenā Nginx servera konfigurācija ir definēta serveris sadaļa iekšpusē http sadaļā. Jūs varat definēt vairākas serveris sadaļa iekšpusē http sadaļu, ja nepieciešams.

Iekš serveris sadaļā,

klausīties opcija tiek izmantota, lai konfigurētu Nginx, lai klausītos 80. portu (HTTP ports) tīmekļa pieprasījumiem.

servera_nosaukums opciju izmanto, lai iestatītu vienu vai vairākus domēna nosaukumus Nginx tīmekļa serverim. Ja jūsu DNS iestatījumi ir pareizi, varat piekļūt Nginx tīmekļa serverim, izmantojot šos domēnu nosaukumus.

access_log tiek izmantots, lai iestatītu piekļuves žurnāla faila ceļu uz / var / log / nginx / piekļuve.žurnāls. Kad kāds mēģina piekļūt Nginx tīmekļa serverim, piekļuves informācija (t.i.e. IP adrese, URL, HTTP statusa kods) tiks reģistrēti šajā failā.

The atrašanās vieta opciju izmanto, lai iestatītu Nginx tīmekļa servera saknes direktoriju.

Lūk, sakne direktorija ir / usr / share / nginx / html /.

Šeit ir jāglabā visi vietnes faili. The indekss opciju komplekti indekss.html kā noklusējuma failu, kas tiek izmantots, ja nav pieprasīts īpašs fails. Piemēram, ja apmeklējat vietni http: // 192.168. lpp.20.175 / myfile.html, tad jūs Nginx atgriezīsities myfile.html failu. Bet, ja apmeklējat vietni http: // 192.168. lpp.20.175 /, tad Nginx nosūtīs jums indeksu.HTML failu, jo nav pieprasīts konkrēts fails.

Tagad noņemiet visus failus no / usr / share / nginx / html / direktoriju (tīmekļa sakne) šādi:

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

Tagad izveidojiet jaunu indekss.html failu / usr / share / nginx / html / direktoriju šādi:

Tagad ierakstiet šādas rindas: indekss.html failu un saglabājiet failu.

Sveika pasaule


© 2020 LinuxHint.com

Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Tagad apmeklējiet vietni http: // 192.168. lpp.20.175 no sava tīmekļa pārlūka, un jums vajadzētu redzēt šo lapu. apsveicu! Jūs esat iestatījis savu pirmo Nginx tīmekļa serveri.

Kļūdu lapu konfigurēšana:

Jūs varat konfigurēt kļūdu lapas programmā Nginx. Piemēram, ja lapa / fails / direktorijs nav pieejams, HTTP statusa kods 404 tiks atgriezts pārlūkprogrammā. HTTP statusa kodam 404 var iestatīt pielāgotu HTML kļūdas lapu, kas tiks atgriezta pārlūkprogrammā.

Lai to izdarītu, pievienojiet šādu rindu serveris sadaļa ninks.konf failu.

serveris

kļūdu_lappuse 404/404.html;

Tagad izveidojiet failu 404.html Nginx tīmekļa saknē / usr / share / nginx / html / sekojoši:

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

Tagad ierakstiet šādās rindās: 404.html un saglabājiet failu.

404. kļūda


Lapa nav atrasta


© 2020 LinuxHint.com

Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Tagad mēģiniet piekļūt neeksistējošam ceļam (http: // 192.168. lpp.20.175 / nopage.html), un jums vajadzētu redzēt šo kļūdas lapu.

Ja 404.html fails atrodas citā failu sistēmas ceļā (teiksim / usr / share / nginx / html / kļūdas / direktorijā), varat kartēt URL / 404.html tam šādi:

serveris

kļūdu_lappuse 404/404.html;
atrašanās vieta / 404.html
root / usr / share / nginx / html / kļūdas;


Tagad izveidojiet jaunu direktoriju  / usr / share / nginx / html / kļūdas / sekojoši:

$ sudo mkdir / usr / share / nginx / html / kļūdas

Tagad izveidojiet jaunu failu 404.html direktorijā / usr / share / nginx / html / kļūdas / sekojoši:

$ sudo nano / usr / share / nginx / html / kļūdas / 404.html

Tagad ierakstiet šādās rindā 404.html failu un saglabājiet failu.

LAPA NAV ATRASTA


ATGRIEZTIES MĀJĀS

Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Tagad mēģiniet piekļūt neeksistējošam ceļam (http: // 192.168. lpp.20.175 / nopage.html), un jums vajadzētu redzēt atjaunināto kļūdu lapu.

Tādā pašā veidā jūs varat iestatīt kļūdas lapu citiem HTTP statusa kodiem.

Varat arī iestatīt vienu un to pašu kļūdas lapu vairākiem HTTP statusa kodiem. Piemēram, lai iestatītu to pašu kļūdas lapu / 404.html HTTP statusa kodiem 403 un 404, uzrakstiet error_page šādi:

kļūdu_lappuse 403 404/404.html;

Žurnālu konfigurēšana:

Nginxā error_log un access_log opcijas tiek izmantotas kļūdu ziņojumu reģistrēšanai un piekļuves informācijai.

Programmas formāts error_log un access_log iespējas ir:

error_log / path / to / error / log / file [pēc izvēles: custom-log-name];
access_log / path / to / access / log / file [pēc izvēles: custom-log-name];

Ja vēlaties, varat definēt pats savu kļūdu žurnālu un piekļūt žurnāla formātiem.

Lai to izdarītu, izmantojiet log_format opcija http sadaļā, lai definētu pielāgoto žurnāla formātu šādi.

http

log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ pieprasījums_laiks) -> $ baiti_nosūtītie baiti';

serveris

access_log / var / log / nginx / piekļuve.žurnāls vienkāršs;


Šeit žurnāla formāta nosaukums ir vienkārši. Daži nginx mainīgie tiek izmantoti, lai definētu pielāgoto žurnāla formātu. Apmeklējiet Nginx iegulto mainīgo rokasgrāmatu, lai uzzinātu vairāk par visiem Nginx mainīgajiem.

Pielāgotā žurnāla formātam jābūt ievietotam pēdiņās. Žurnāla formātu var definēt vienā rindā vai vairākās rindās. Šajā rakstā es parādīju, kā noteikt žurnāla formātu vairākās rindās. Jums nebūs problēmu ar vienas rindas žurnāla formātu, uzticieties man!

Kad žurnāla formāts vienkārši ir definēts, access_log opcija tiek izmantota, lai norādītu Nginx to izmantot kā piekļuves žurnālu.

Tādā pašā veidā jūs varat iestatīt pielāgotu kļūdu žurnāla formātu, izmantojot error_log opcija.

Šajā rakstā piekļuves žurnālam esmu konfigurējis tikai pielāgotu žurnāla formātu.

Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Tagad piekļuves žurnāla failu varat pārraudzīt šādi:

$ sudo tail -f / var / log / nginx / access.žurnāls

Kļūdu žurnāla failu var arī uzraudzīt šādi:

$ sudo tail -f / var / log / nginx / kļūda.žurnāls

Ja vēlaties, varat vienlaikus uzraudzīt piekļuves žurnālu un kļūdu žurnāla failus šādi:

$ sudo tail -f / var / log / nginx / kļūda, piekļuve.žurnāls

Kā redzat, tiek izmantots jaunais piekļuves žurnāla formāts.

Piekļuves liegšana noteiktiem ceļiem:

Jūs varat izmantot regulāras izteiksmes, lai saskaņotu noteiktus URI ceļus un liegtu piekļuvi tiem Nginx.

Pieņemsim, ka jūsu vietni pārvalda Git, un jūs vēlaties liegt piekļuvi vietnei .git / direktoriju savā tīmekļa saknē.

Lai to izdarītu, ierakstiet šādās rindās serveris sadaļa / etc / nging / nginx.konf fails:

serveris

atrašanās vieta ~ \.git
noliegt visus;


Kā redzat, piekļuve jebkuram ceļam, kas satur .git tiek liegta.

Kompresijas konfigurēšana:

Tīmekļa saturu var saspiest pirms tā nosūtīšanas pārlūkprogrammai, izmantojot gzip lai saglabātu Nginx tīmekļa servera joslas platuma lietojumu.

Manā failā ir daži JPEG attēli / usr / share / nginx / html / images / direktorijā.

Šiem attēliem es varu piekļūt, izmantojot URI ceļu / attēli.

Lai iespējotu gzip saspiešanu tikai JPEG attēliem URI ceļā / attēli, ierakstiet šādās rindās serveris sadaļa / etc / nginx / nginx.konf failu.

serveris

atrašanās vieta / attēli
gzip ieslēgts;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types attēls / JPEG;


Šeit, gzip_comp_level tiek izmantots, lai iestatītu saspiešanas līmeni. Tas var būt jebkurš skaitlis no 1 līdz 9. Jo augstāks līmenis, jo mazāks būs saspiests fails.

Fails tiks saspiests tikai tad, ja faila lielums ir lielāks gzip_min_length. Šajā piemērā esmu iestatījis to uz aptuveni 100 KB. Tātad JPEG faili, kas ir mazāki par 100 KB, netiks saspiesti.

The  gzip_types tiek izmantots, lai iestatītu saspiesto failu mime tipu.

Mime tipu no failu paplašinājumiem varat atrast šādi:

$ grep jpg / etc / nginx / mime.veidi

Kā redzat, par .jpg vai .JPEG faila paplašinājums, mīmikas tips ir attēls / JPEG.

Izmantojot, varat iestatīt vienu vai vairākus mīmu veidus gzip_types opcija.

Ja vēlaties iestatīt vairākus mīmu veidus, noteikti atdaliet tos ar atstarpēm šādi:

"
gzip_types attēls / jpeg attēls / png attēls / gif;

Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Kā redzat, Nginx pēc pieprasījuma nosūta saspiestu attēlu failus gzip pārlūkprogrammai.

Kā redzat zemāk redzamajā ekrānuzņēmumā, saspiests gzip fails ir mazāks par sākotnējo failu.

$ sudo tail -f / var / log / nginx / access.žurnāls

HTTPS iespējošana:

Jūs varat ļoti viegli iespējot SSL Nginx. Šajā sadaļā es jums parādīšu, kā iestatīt pašparakstītu SSL sertifikātu Nginx.

Vispirms dodieties uz / etc / ssl / direktoriju šādi:

$ cd / etc / ssl

Tagad ģenerējiet SSL atslēgu serveris.taustiņu un sertifikāts serveris.crt ar šādu komandu:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
serveris.atslēga -out serveris.crt

PIEZĪME: Jums jābūt openssl instalēts, lai tas darbotos. Ja komanda openssl nav pieejama, instalējiet openssl ar šādu komandu:

$ sudo dnf install openssl -y

Tagad ievadiet savu divu burtu valsts kodu (t.i.e. ASV - ASV, Lielbritānija - Apvienotajai Karalistei, RU - Krievijai, CN - Ķīnai) un nospiediet .

Tagad ierakstiet štata / provinces nosaukumu un nospiediet .

Tagad ierakstiet savu pilsētas vārdu un nospiediet .

Tagad ierakstiet sava uzņēmuma nosaukumu un nospiediet .

Tagad ierakstiet sava uzņēmuma organizatoriskās vienības nosaukumu, kas izmantos šo sertifikātu, un nospiediet .

Tagad ierakstiet sava Nginx tīmekļa servera pilnībā kvalificēto domēna nosaukumu (FQDN) un nospiediet . SSL sertifikāts būs derīgs tikai tad, ja Nginx tīmekļa serverim piekļūs, izmantojot šo domēna nosaukumu.

Tagad ierakstiet savu e-pasta adresi un nospiediet .

Jūsu SSL sertifikātam jābūt gatavam.

SSL sertifikāts un atslēga jāveido / etc / ssl / direktorijā.

$ ls -lh

Tagad atveriet Nginx konfigurācijas failu / etc / nginx / nginx.konf un mainīt klausīties osta uz 443 un ierakstiet nākamajās rindās serveris sadaļā.

serveris

ssl ieslēgts;
ssl_certificate / etc / ssl / serveris.crt;
ssl_certificate_key / etc / ssl / server.atslēga;

Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Reālajā dzīvē jums būs pareiza DNS iestatīšana. Bet testēšanas nolūkos es datorā, kuru izmantoju, lai piekļūtu Nginx tīmekļa serverim, esmu konfigurējis vietējo failu domēna nosaukumu.

Ja vēlaties sekot līdzi, atveriet / etc / hosts failu šādi:

$ sudo nano / etc / hosts

Pēc tam pievienojiet rindai šādu rindu / etc / hosts failu.

192.168. lpp.20.175 www.piemērs.com

Tagad mēģiniet apmeklēt vietni https: // www.piemērs.com, un jums vajadzētu redzēt šo lapu. Tu redzēsi Jūsu savienojums nav drošs ziņojumu, jo tas ir pašparakstīts sertifikāts. Tas ir piemērots tikai testēšanai.

Reālajā dzīvē jūs pērkat SSL sertifikātus no sertifikātu autoritātēm (CA) un tos izmantojat. Tātad jūs neredzēsiet šāda veida ziņojumus.

Kā redzat, Nginx tīmekļa lapu apkalpoja, izmantojot HTTPS. Tātad, SSL darbojas.

SSL informācija vietnē www.piemērs.com.

HTTP pieprasījumu novirzīšana uz HTTPS:

Ja kāds apmeklē jūsu vietni, izmantojot HTTP protokolu (http: // www.piemērs.com vai http: // 192.168. lpp.20.175), nevis HTTPS (https: // www.piemērs.com), jūs nevēlaties noraidīt HTTP pieprasījumu. Ja jūs to izdarīsit, jūs zaudēsiet apmeklētāju. Kas jums patiešām būtu jādara, ir novirzīt lietotāju uz vietni, kurā iespējota SSL. Tas ir patiešām vienkārši izdarāms.

Vispirms atveriet Nginx konfigurācijas failu / etc / nginx / nginx.konf un izveidojiet jaunu serveris sadaļa iekšpusē http sadaļu šādi:

http

serveris
klausīties 80;
servera_nosaukums www.piemērs.com;
atgriešanās 301 https: // www.piemērs.com $ request_uri;


Šis ir galīgais / etc / nginx / nginx.konf fails:

lietotājs nginx nginx;
darbinieks_processs auto;
error_log / var / log / nginx / kļūda.žurnāls;
pid / run / nginx.pid;
notikumi
strādnieku_savienojumi 1024;

http
ietver / etc / nginx / mime.veidi;
default_type application / octet-stream;
log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ pieprasījums_laiks) -> $ baiti_nosūtītie baiti';
 
serveris
klausīties 80;
servera_nosaukums www.piemērs.com;
atgriešanās 301 https: // www.piemērs.com $ request_uri;

serveris
klausīties 443;
servera_nosaukums www.piemērs.com;
ssl ieslēgts;
ssl_certificate / etc / ssl / serveris.crt;
ssl_certificate_key / etc / ssl / server.atslēga;
access_log / var / log / nginx / piekļuve.žurnāls vienkāršs;
atrašanās vieta /
root / usr / share / nginx / html;
indeksa indekss.html;

atrašanās vieta / attēli
gzip ieslēgts;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types attēls / JPEG;

kļūdu_lappuse 404/404.html;
atrašanās vieta / 404.html
root / usr / share / nginx / html / kļūdas;

atrašanās vieta ~ \.git
noliegt visus;


Tagad restartējiet ninks pakalpojumu:

$ sudo systemctl restartējiet nginx

Tagad, ja mēģināt piekļūt vietnei http: // 192.168. lpp.20.175 vai http: // www.piemērs.lv, jūs tiksiet novirzīts uz vietni https: // www.piemērs.com.

Tātad, tā jūs instalējat un konfigurējat Nginx tīmekļa serveri CentOS 8. Paldies, ka izlasījāt šo rakstu.

Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...
Vidējā peles poga nedarbojas sistēmā Windows 10
The peles vidējā poga palīdz jums ritināt garas tīmekļa lapas un ekrānus ar lielu datu daudzumu. Ja tas apstājas, jūs galu galā izmantosiet tastatūru,...