Otu esi emepụta ibe mperi 404 omenala na NGINX
Oge ọ bụla NGINX zutere njehie ka ọ na-agbalị ịhazi arịrịọ onye ahịa, ọ na-eweghachi njehie. Njehie ọ bụla gụnyere koodu nzaghachi HTTP yana nkọwa dị nkenke. A na-egosipụtakarị njehie ahụ nye onye ọrụ site na ibe HTML ndabara dị mfe.
Ọ dabara nke ọma, ị nwere ike hazie NGINX iji gosipụta ibe njehie omenala nye ndị ọrụ saịtị gị ma ọ bụ ngwa weebụ. Enwere ike nweta nke a site na iji ntuziaka NGINX error_page nke a na-eji kọwaa URI nke a ga-egosi maka njehie akọwapụtara. Ị nwekwara ike iji ya na nhọrọ iji gbanwee koodu HTTP na isi okwu nzaghachi ezigara onye ahịa.
N'ime ntuziaka a, anyị ga-egosi otu esi ahazi NGINX iji ibe njehie omenala.
Mepụta otu ibe omenala maka mperi NGINX niile
Ị nwere ike hazie NGINX iji otu ibe njehie omenala maka njehie niile ọ na-alaghachi na onye ahịa. Malite site na ịmepụta ibe njehie gị. Nke a bụ ọmụmaatụ, ibe HTML dị mfe nke na-egosipụta ozi:
“Sorry, the page can't be loaded! Contact the site's administrator or support for assistance.” to a client.
Ihe atụ HTML Nginx koodu ibe omenala.
<!DOCTYPE html> <html> <head> <style type=text/css> * { -webkit-box-sizing: border-box; box-sizing: border-box; } body { padding: 0; margin: 0; } #notfound { position: relative; height: 100vh; } #notfound .notfound { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .notfound { max-width: 520px; width: 100%; line-height: 1.4; text-align: center; } .notfound .notfound-error { position: relative; height: 200px; margin: 0px auto 20px; z-index: -1; } .notfound .notfound-error h1 { font-family: 'Montserrat', sans-serif; font-size: 200px; font-weight: 300; margin: 0px; color: #211b19; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } @media only screen and (max-width: 767px) { .notfound .notfound-error h1 { font-size: 148px; } } @media only screen and (max-width: 480px) { .notfound .notfound-error { height: 148px; margin: 0px auto 10px; } .notfound .notfound-error h1 { font-size: 120px; font-weight: 200px; } .notfound .notfound-error h2 { font-size: 30px; } .notfound a { padding: 7px 15px; font-size: 24px; } .h2 { font-size: 148px; } } </style> </head> <body> <div id="notfound"> <div class="notfound"> <h1>Sorry the page can't be loaded!</a></h1> <div class="notfound-error"> <p>Contact the site's administrator or support for assistance.</p> </div> </div> </div> </body> </html>
Chekwaa faịlụ na aha kwesịrị ekwesị dịka ọmụmaatụ error-page.html wee mechie ya.
Ọzọ, bugharịa faịlụ ahụ na ndekọ mgbọrọgwụ akwụkwọ gị (/var/www/html/). Ọ bụrụ na ndekọ ahụ adịghị, ị nwere ike ịmepụta ya site na iji iwu mkdir, dị ka egosiri:
$ sudo mkdir -p /var/www/html/ $ sudo cp error-page.html /var/www/html/
Mgbe ahụ hazie NGINX ka ọ jiri ibe njehie omenala jiri ntuziaka njehie_page. Mepụta faịlụ nhazi akpọrọ custom-error-page.conf n'okpuru /etc/nginx/snippets/ dị ka egosiri.
$ sudo mkdir /etc/nginx/snippets/ $ sudo vim /etc/nginx/snippets/custom-error-page.conf
Tinye ahịrị ndị a na ya:
error_page 404 403 500 503 /error-page.html; location = /error-page.html { root /var/www/html; internal; }
Nhazi a na-ebute redirect nke ime na URI/error-page.html oge ọ bụla NGINX na-ezute njehie HTTP ọ bụla akọwapụtara 404, 403, 500, na 503. Ọnọdụ ọnọdụ na-agwa NGINX ebe ịchọta ibe njehie gị.
Chekwaa faịlụ ma mechie ya.
Ugbu a tinye faịlụ ahụ na ọnọdụ http ka ihe mgbochi sava niile jiri ibe njehie, na faịlụ /etc/nginx/nginx.conf:
$ sudo vim /etc/nginx/nginx.conf
Akwụkwọ ndekọ ahụ gụnyere na-agwa NGINX ka ọ tinye nhazi na faịlụ .conf
akọwapụtara:
include snippets/custom-error-page.conf;
N'aka nke ọzọ, ịnwere ike ịgụnye faịlụ maka otu ngọngọ nkesa (nke a na-akpọ vhost), dịka ọmụmaatụ, /etc/nginx/conf.d/mywebsite.conf. Tinye ihe a dị n'elu gụnye ntuziaka na ihe nkesa {}
.
Chekwaa faịlụ nhazi NGINX gị wee bugharịa ọrụ dịka ndị a:
$ sudo systemctl reload nginx.service
Ma nwalee site na ihe nchọgharị ma ọ bụrụ na nhazi ahụ na-arụ ọrụ nke ọma.
Mepụta ibe omenala dị iche iche maka mperi NGINX ọ bụla
Ị nwekwara ike melite ibe njehie omenala dị iche iche maka njehie HTTP ọ bụla na NGINX. Anyị chọpụtara ezigbo nchịkọta ibe njehie nginx omenala nke Denys Vitali mepụtara na Github.
Ka ịtọlite ebe nchekwa na ihe nkesa gị, mee iwu ndị a:
$ sudo git clone https://github.com/denysvitali/nginx-error-pages /srv/http/default $ sudo mkdir /etc/nginx/snippets/ $ sudo ln -s /srv/http/default/snippets/error_pages.conf /etc/nginx/snippets/error_pages.conf $ sudo ln -s /srv/http/default/snippets/error_pages_content.conf /etc/nginx/snippets/error_pages_content.conf
Na-esote, tinye nhazi ndị a na mpaghara http gị ma ọ bụ ngọngọ/vhost nkesa ọ bụla:
include snippets/error_pages.conf;
Chekwaa faịlụ nhazi NGINX gị wee bugharịa ọrụ dịka ndị a:
$ sudo systemctl reload nginx.service
Ọzọkwa, nwalee site na ihe nchọgharị ma ọ bụrụ na nhazi ahụ na-arụ ọrụ dịka echere. N'ihe atụ a, anyị nwalere ibe mperi 404.
Nke ahụ bụ ihe anyị nwere maka gị na ntuziaka a. Ntuziaka njehie_page NGINX na-enye gị ohere ibugharị ndị ọrụ gaa na ibe ma ọ bụ akụ ma ọ bụ URL akọwapụtara mgbe njehie mere. Ọ na-enye ohere maka mgbanwe koodu ọnọdụ HTTP na nzaghachi onye ahịa. Maka ozi ndị ọzọ, gụọ akwụkwọ njehie nginx.