Náðu tökum á Nginx stillingum fyrir bestu afköst vefþjónsins
Viltu hraðari vefsíður og betri frammistöðu netþjóns? Nginx getur hjálpað. Með atburðadrifinni hönnun sinni sér Nginx um þúsundir tenginga á skilvirkan hátt, sem gerir það að toppvali fyrir vefsíður með mikla umferð og rauntímaforrit. En til að opna alla möguleika þess er rétt uppsetning lykilatriði.
Helstu veitingar:
- Auka árangur: Stilltu ferla starfsmanna og virkjaðu þjöppun til að draga úr auðlindanotkun og flýta fyrir svörum.
- Stjórna umferð: Notaðu álagsjafnvægi til að dreifa umferð á netþjóna og fínstilla fyrir mikið álag.
- Öruggar tengingar: Stilltu SSL-lokun til að auka öryggi án þess að ofhlaða bakendaþjóna.
- Rauntímaforrit: Settu upp WebSocket stuðning fyrir óaðfinnanleg samskipti í rauntíma kerfum.
- Fylgstu með á áhrifaríkan hátt: Notaðu verkfæri eins og Prometheus og Grafana til að fylgjast með heilsu og frammistöðu netþjóna.
Dæmi um flýtiuppsetningu:
- Starfsferlar: Passa við CPU kjarna (
verkamannaferli 4;). - Þjöppun: Virkja Gzip (
gzip á; gzip_comp_level 6;). - Skyndiminni: Stilla proxy skyndiminni fyrir hraða (
proxy_cache_path /var/cache/nginx;). - Álagsjöfnun: Dreifðu umferð með hringrás eða minnst tengingum.
Ábending fyrir atvinnumenn: Fylgstu reglulega með og fínstilltu stillingarnar þínar til að halda þjóninum þínum vel í gangi. Hvort sem þú ert að stjórna vefsíðum með mikilli umferð, kyrrstæðu efni eða rauntímaforritum, þá geta þessar stillingar skipt sköpum.
Árangursstillandi NGINX Open Source og NGINX Plus

Lykill Nginx stillingarskrár og stillingar
Að fá sem mest út úr Nginx netþjóninum þínum byrjar á því að skilja stillingarskrár hans og fínstilla lykilstillingar. Hér er sundurliðun á því sem þú þarft að vita.
Að skilja Nginx stillingarskrár
Nginx stillingar eru skipulagðar í tvö meginsvið:
- Alþjóðlegar stillingar: Fannst í
/etc/nginx/nginx.conf - Staðbundið stillingar: Staðsett í
/etc/nginx/sites-available/
Áður en þú notar breytingar skaltu prófa stillingarnar þínar með nginx -t til að tryggja að það sé villulaust.
Stilla starfsferla og tengingar
Starfsmannaferlar og tengingar gegna stóru hlutverki í því hversu vel þjónninn þinn stendur sig. Hér er fljótleg leiðarvísir til að setja þau upp:
| Stilling | Lýsing | Dæmi Gildi |
|---|---|---|
verkamannaferli | Fjöldi starfsmannaferla | Passar við CPU kjarna |
verkamannatengingar | Hámarkstengingar á hvern starfsmann | 1024 – 2048 |
keepalive_timeout | Tímamörk tengingar | 65 sekúndur |
Ábending: Stilltu þessi gildi miðað við vélbúnað netþjónsins þíns.
Til dæmis, ef þjónninn þinn hefur 4 CPU kjarna, gæti stillingin þín litið svona út:
verkamannaferlar 4; atburðir { verkamannatengingar 1024; } Eftir að hafa fínstillt vinnuferla geturðu aukið árangur enn frekar með því að virkja þjöppun og skyndiminni.
Notar Gzip þjöppun og skyndiminni
Þjöppun og skyndiminni hjálpa til við að draga úr bandbreidd og bæta hleðslutíma. Hér er hvernig á að stilla þau:
Virkja Gzip þjöppun:
gzip kveikt; gzip_comp_level 6; gzip_types texti/venjulegur texti/css forrit/json forrit/javascript; Setja upp skyndiminni:
proxy_cache_path /var/cache/nginx stig=1:2 keys_zone=einn:10m óvirkur=60m; proxy_cache einn; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; The proxy_cache_path tilskipun býr til skyndiminni svæði fyrir oft aðgang að efni, sem lækkar álagið á bakendanum þínum. Þú getur líka notað open_file_cache til að geyma almennar skrár í minni, draga úr notkun á diskum.
Háþróuð tækni fyrir álagsjafnvægi og SSL
Þessar aðferðir byggja á hagræðingu starfsmannaferla og skyndiminni og leggja áherslu á að bæta umferðardreifingu og öryggi.
Uppsetning álagsjöfnunar
Nginx býður upp á öflug verkfæri til að dreifa komandi umferð yfir marga netþjóna. Hér er grunnstilling:
Uppstreymis bakendi { # Sjálfgefið: round-robin fyrir jafnvægða dreifingu netþjóns localhost:8080; netþjóns localhost:8081; netþjóns localhost:8082; # Afathugasemd fyrir fæstu tengingarnar (betra fyrir ójafnt vinnuálag) # least_conn; } netþjónn { hlusta 80; staðsetning / { proxy_pass http://backend; proxy_set_header Host $Host; proxy_set_header X-Real-IP $remote_addr; } } - Round-robin er tilvalið fyrir netþjóna með svipaðan viðbragðstíma.
- Minnstu tengingar virkar betur þegar beiðnir eru mismunandi að flóknum hætti og hjálpar til við að forðast ofhleðslu hægari netþjóna.
- Fyrir viðvarandi lotu, virkjaðu IP Hash að beina notendum stöðugt á sama netþjón.
Stilla SSL uppsögn
SSL uppsögn færir dulkóðunarverkefni til Nginx, sem dregur úr vinnuálagi á bakenda netþjónum. Rannsóknir frá Bobcares benda til þess að þetta geti dregið úr biðtíma SSL handabands um allt að 50%.
Svona á að sameina SSL uppsögn með álagsjafnvægi:
http { uppstreymis bakendi { netþjónn staðbundinn gestgjafi:8080; netþjónn staðbundinn gestgjafi:8081; } netþjónn { hlusta 443 ssl; netþjónsheiti dæmi.com; ssl_vottorð /slóð/til/vottorðs.crt; ssl_vottorðslykill /slóð/til/einka/lykill.lykill; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers kveikt; ssl_session_cache deilt:SSL:10m; staðsetning / { proxy_pass http://bakendi; proxy_set_header gestgjafi $host; proxy_set_header X-Real-IP $remote_addr; } } } Mikilvæg SSL ráð:
- Haltu þig við TLS 1.2 og 1.3 fyrir betra öryggi.
- Forgangsraðaðu dulmáli á netþjóni fyrir sterkari dulkóðun.
- Virkjaðu skyndiminni lotu til að bæta árangur.
Aðlaga Nginx fyrir sérstakar þarfir
Fínstilling á Nginx fyrir vefsíður með mikla umferð
Fyrir vefsíður með mikla umferð verður stilling Nginx að vera fínstillt til að takast á við mikið álag á áhrifaríkan hátt. Með því að stilla lykilfæribreytur getur það bætt viðbragð netþjónsins verulega og heildarafköst.
Stærðarstillingar á buffer
http { stærð_biðminnis fyrir_biðminni_client 16k; stærð_biðminnis fyrir_biðminni_client 4k; hámarksstærð_biðminnis fyrir_biðminni_client 8m; stór_biðminnis fyrir_biðminni_client 4 8k; } Þessar stillingar forgangsraða minnisnotkun umfram I/O disks, sem flýtir fyrir meðhöndlun beiðna. Til dæmis að aukast client_body_buffer_size dregur úr þörfinni fyrir tímabundnar skráningar meðan á beiðnum stendur.
Skilvirk annálastjórnun
http { access_log /var/log/nginx/access.log samsett biðminni=32k flush=5s; error_log /var/log/nginx/error.log viðvörun; } Notkun 32KB biðminni og 5 sekúndna skolunarbil lágmarkar diskaðgerðir á meðan annálum er haldið nákvæmum og uppfærðum.
Stillingar fyrir tímamörk
http { client_body_timeout 12; client_header_timeout 12; send_timeout 10; } Þessi tímamörk hjálpa til við að koma í veg fyrir að hægir viðskiptavinir neyti netþjónaauðlinda að óþörfu.
Þegar þessar breytingar eru komnar er einnig hægt að aðlaga Nginx fyrir forrit sem krefjast stöðugra samskipta, svo sem WebSockets.
Stillir Nginx fyrir WebSocket Support
WebSockets eru mikilvægur hluti af rauntímaforritum. Rétt uppsetning Nginx til að takast á við WebSocket tengingar tryggir sléttan árangur jafnvel undir álagi.
kort $http_upgrade $connection_upgrade { sjálfgefin uppfærsla; '' loka; } þjónn { hlusta 80; nafn_þjóns example.com; staðsetning /websocket { proxy_pass http://backend_server; proxy_http_version 1.1; proxy_set_header Uppfærsla $http_upgrade; proxy_set_header Tenging $connection_upgrade; proxy_set_header Vél $Vél; proxy_cache_bypass $http_upgrade; # Tímamörk fyrir WebSocket tengingar proxy_read_timeout 300s; proxy_send_timeout 300s; } } Upplýsingar um lykilstillingar WebSocket:
| tilskipun | Tilgangur |
|---|---|
| proxy_http_version | Virkjar HTTP/1.1 fyrir WebSocket stuðning |
| proxy_read_timeout | Stillir hámarkstíma á milli gagnapakka |
| proxy_send_timeout | Skilgreinir hámarkstíma til að senda gögn |
| proxy_cache_bypass | Slökkva á skyndiminni fyrir WebSocket umferð |
The kort tilskipun stjórnar uppfærslum á tengingum á skilvirkan hátt og tryggir slétt WebSocket samskipti.
Til að koma í veg fyrir misnotkun er hægt að beita gengistakmörkun á WebSocket tengingar:
http { limit_req_zone $binary_remote_addr zone=websocket_limit:10m rate=5r/s; location /websocket { limit_req zone=websocket_limit burst=20 nodelay; # ... restin af WebSocket stillingum } } Þessi uppsetning takmarkar IP-tölur við 5 beiðnir á sekúndu með 20 beiðnahringum, sem verndar gegn DoS árásum á sama tíma og þjónustuframboð er viðhaldið.
sbb-itb-59e1987
Bestu starfsvenjur fyrir Nginx árangur og eftirlit
Fyrir utan upphaflegu uppsetninguna, með því að halda Nginx uppsetningunni þinni fínstilltri tryggir það að hún geti séð um breytt vinnuálag á áhrifaríkan hátt.
Lykilsvið til að einbeita sér að
Að bæta afköst Nginx felur í sér að fínstilla sérstakar stillingar sem hafa bein áhrif á hversu skilvirkan netþjóninn þinn starfar.
Stjórnun starfsmannaferla
The worker_rlimit_nofile tilskipun er mikilvæg til að stjórna skráarlýsingum. Það tryggir að netþjónninn þinn geti séð um margar samtímis tengingar án þess að ná takmörkunum á miklum umferðartímum:
worker_rlimit_nofile 65535; Notkun Open File Cache
Opið skyndiminni skráar lágmarkar inn/út á diski með því að vista lýsigögn fyrir skrár sem oft eru notaðar í skyndiminni, sem flýtir fyrir afhendingu kyrrstöðu:
http { open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; } Þegar þessar hagræðingar hafa verið til staðar er reglulegt eftirlit nauðsynlegt til að tryggja áframhaldandi frammistöðu og koma auga á svæði sem þarfnast frekari aðlögunar.
Fylgjast með Nginx árangri
Vöktun hjálpar til við að fylgjast með því hvernig þjónninn þinn gengur og afhjúpar hvers kyns flöskuhálsa eða óhagkvæmni. Helstu mælikvarðar til að horfa á eru beiðnahlutfall, villuhlutfall og auðlindanotkun. Verkfæri eins og Prometheus og Grafana gera það auðveldara að safna og sjá þessi gögn.
Mælt er með Eftirlitsverkfæri
| Verkfæri | Tilgangur | Helstu mælikvarðar |
|---|---|---|
| Prómeþeifs | Safnar gögnum um frammistöðu í beinni | Beiðnahlutfall, viðbragðstími, villuhlutfall |
| Grafana | Sýnir frammistöðuþróun | Örgjörvanotkun, minnisnotkun, umferðarmynstur |
| htop | Fylgir kerfisauðlindanotkun | Ferlanotkun, minnisúthlutun |
Setja upp árangursmælingar
Virkjaðu stöðuvöktun í Nginx með því að stilla eftirfarandi:
staðsetning /nginx_status { stub_status kveikt; aðgangur_útskráning; leyfa 127.0.0.1; hafna öllu; } Þessi uppsetning veitir innsýn í:
- Virkar tengingar
- Samtals samþykktar tengingar
- Beiðni um meðhöndlun tölfræði
- Lestur, ritun og biðtengingar
Að greina logs á áhrifaríkan hátt
Bundið skráning getur dregið úr álagi á diski með því að flokka skráningarskrár. Þetta hjálpar til við að viðhalda frammistöðu netþjónsins án þess að fórna nákvæmni annála þinna.
"Reglulegt eftirlit og aðlögun byggð á frammistöðugögnum skiptir sköpum til að ná sem bestum árangri. Nauðsynlegt er að forðast að gera of margar breytingar í einu, því það getur torveldað bilanaleit."
Hýsingarvalkostir fyrir Nginx
Að velja rétta hýsingarumhverfið er jafn mikilvægt og fínstilla Nginx stillingar. Réttur vettvangur tryggir að hagræðingar þínar skili bestu árangri.
Eiginleikar af Serverion Hýsing

Serverion býður upp á hýsingarvettvang sem er sérstaklega hannaður fyrir Nginx og skilar framúrskarandi afköstum og áreiðanleika.
Geymsla og afköst
Serverion notar SSD geymslu sem er fínstillt fyrir Nginx, sem dregur úr I/O leynd til að flýta fyrir aðgangi að stillingarskrám og annálum.
Öryggisinnviðir
Með DDoS vernd á fyrirtækisstigi eykur Serverion öryggi Nginx. Þetta tryggir spenntur meðan á árásum stendur og bætir við hleðslujafnvægi Nginx.
| Tegund auðlinda | Tæknilýsing | Hagur fyrir Nginx |
|---|---|---|
| CPU | Xeon Quad-Core | Meðhöndlar ferla starfsmanna á skilvirkan hátt |
| vinnsluminni | Allt að 16GB | Eykur afköst skyndiminni |
| Geymsla | SSD byggt | Flýtir skráaaðgangi |
| Bandvídd | Mikil afköst | Styður áreiðanlega álagsjafnvægi |
Skalanleg innviði
Áætlanir Serverion eru hannaðar til að laga sig að vaxandi umferðarþörfum þínum. Þetta tryggir að Nginx uppsetningin þín geti séð um aukna eftirspurn án þess að tapa afköstum.
"Reglulegt eftirlit og hagræðing afkasta er nauðsynleg þegar Nginx er hýst. Rétt hýsingarumhverfi ætti að veita bæði úrræði og tæki sem nauðsynleg eru til að viðhalda hámarksframmistöðu netþjónsins."
Stuðningur sérfræðinga
24/7 þjónustuteymi Serverion inniheldur Nginx sérfræðinga sem geta aðstoðað við stillingarbreytingar og afkastastillingar sniðnar að þínum þörfum.
Niðurstaða og lokaráð
Lykilatriði samantekt
Að fá sem mest út úr Nginx þýðir að einblína á skýra, skref-fyrir-skref nálgun. Byrjaðu á því að skilja vélbúnaðarmörk netþjónsins þíns og umferðarmynstur. Þaðan skaltu fínstilla stillingar eins og vinnuferla, skyndiminni og álagsjafnvægi til að tryggja að þjónninn þinn gangi snurðulaust og skilvirkt.
Skref til að byrja
- Staðfestu stillingar: Áður en þú gerir einhverjar breytingar í beinni skaltu nota
nginx -ttil að athuga stillingar þínar fyrir villur. - Kjarnahagræðingar:
- Samsvörun
verkamannaferlií CPU kjarna netþjónsins þíns (td,vinnuferli 4fyrir 4 kjarna netþjón). - Virkjaðu gzip-þjöppun til að minnka skráarstærð um 50-70%.
- Stilltu biðminni til að sinna beiðnum á skilvirkari hátt.
- Samsvörun
- Ítarlegir eiginleikar:
- Settu upp SSL-lokun til að tryggja tengingar.
- Stilltu skyndiminni efnis með viðeigandi fyrningarstillingum.
- Notaðu álagsjöfnun sem er sérsniðin að umferðarmynstri þínum.
- Settu upp verkfæri eins og Prometheus og Grafana til að fylgjast með frammistöðu.
Frammistöðueftirlit: Það er lykilatriði að fylgjast með frammistöðu netþjónsins. Fylgstu með mælingum eins og beiðnihlutfalli, viðbragðstíma og tilföngum til að ná í öll vandamál áður en þau hafa áhrif á notendur.
"Reglulegt eftirlit og hagræðing afkasta eru nauðsynleg þegar Nginx er hýst. Rétt samsetning af stillingarstillingum og eftirlitsverkfærum tryggir hámarksafköst netþjónsins með tímanum."
Algengar spurningar
Hér eru svör við nokkrum algengum spurningum um Nginx stillingar til að hjálpa þér við úrræðaleit og bæta árangur.
Hvernig get ég athugað hvort Nginx sé í skyndiminni?
Til að athuga hvort Nginx geymir efni í skyndiminni skaltu skoða HTTP-svarshausana. Leitaðu að:
- X-skyndiminni: „HIT“ gildi þýðir að innihaldið er í skyndiminni.
- X-Cache-staða: Gefur til kynna núverandi skyndiminni stöðu.
Þú getur notað þessa skipun til að skoða hausana:
krulla -I https://yourwebsite.com Athugið: Gakktu úr skugga um að þessir hausar séu stilltir í Nginx uppsetningunni þinni; annars birtast þær ekki í svarinu.
Hverjar eru ráðlagðar biðminni stillingar?
Hér er dæmi um uppsetningu til að setja upp biðminni á skilvirkan hátt:
stærð_biðminnis_client_body_buffer_10K; stærð_biðminnis_client_header_buffer_1K; hámarksstærð_líkams_client_8m; stór_biðminnis_client_header_buffers 4 4k; Hvernig virkja ég WebSocket stuðning?
Til að virkja WebSocket stuðning, vertu viss um að proxy_pass tilskipun bendir á WebSocket bakendaþjóninn. Fyrir nákvæmar leiðbeiningar, sjá fyrri hlutann um WebSocket stillingar.
Hvernig get ég stillt SSL á öruggan hátt?
Notaðu eftirfarandi stillingar til að setja upp SSL á öruggan hátt:
netþjónn { hlusta 443 ssl; netþjónsheiti example.com; ssl_vottorð /slóð/til/cert.crt; ssl_vottorðslykill /slóð/til/cert.lykill; ssl_samskiptareglur TLSv1.2 TLSv1.3; ssl_kóðar HÁTT:!aNULL:!MD5; } Hvernig fínstilli ég Nginx fyrir mikla umferð?
Fyrir vefsíður með mikla umferð, einbeittu þér að þessum lykilsviðum:
- Samsvörun
verkamannaferliað fjölda örgjörva kjarna og fjölgaverkamannatengingartil að sinna fleiri tengingum. - Settu upp skilvirka skyndiminni til að draga úr álagi á netþjóni.
- Stilltu biðminni til að vinna úr beiðnum á skilvirkari hátt.
"Reglulegt eftirlit og hagræðing afkasta eru nauðsynleg þegar Nginx er hýst. Rétt samsetning af stillingarstillingum og eftirlitsverkfærum tryggir hámarksafköst netþjónsins með tímanum."