Kif Issettja Hosts Virtwali bbażati fuq l-Ismijiet u bbażati fuq IP (Blokki tas-Server) b'NGINX
F'perjodu ta 'żmien relattivament qasir minn meta ġie żviluppat u magħmul disponibbli (ftit aktar minn 10 snin), Nginx esperjenza tkabbir sostnut u kostanti fost is-servers tal-web minħabba l-prestazzjoni għolja u l-użu baxx tal-memorja tiegħu.
Peress li Nginx huwa Software b'Sors Ħieles u Miftuħ, ġie adottat minn eluf ta 'amministraturi ta' web server madwar id-dinja, mhux biss f'servers Linux u *nix, iżda wkoll fil-Microsoft Windows.
Għal dawk minna l-aktar imdorrijin Apache, Nginx jista 'jkollu kurva ta' tagħlim kemmxejn wieqaf (għall-inqas dak kien il-każ tiegħi) iżda ċertament iħalli l-frott ladarba twaqqaf koppja ta 'siti u tibda tara l-istatistika dwar l-użu tat-traffiku u r-riżorsi.
F'dan l-artikolu se nispjegaw kif tuża Nginx biex twaqqaf hosting virtwali bbażat fuq l-isem u l-ip f'servers CentOS/RHEL 7 u Debian 8 u derivattivi, u jibda b'Ubuntu 15.04 u l-ispin-offs tiegħu.
- Sistema Operattiva: Debian 8 Jessie server [IP 192.168.0.25]
- Gateway: Router [IP 192.168.0.1]
- Web Server: Nginx 1.6.2-5
- Dominji finti: www.tecmintlovesnginx.com u www.nginxmeanspower.com.
Installazzjoni ta 'Nginx Web Server
Jekk ma għamiltx hekk diġà, jekk jogħġbok installa Nginx qabel ma tkompli. Jekk għandek bżonn għajnuna biex tibda, tfittxija mgħaġġla għal nginx f'dan is-sit se tirritorna diversi artikli dwar dan is-suġġett. Ikklikkja fuq l-ikona tal-lenti fin-naħa ta’ fuq ta’ din il-paġna u fittex il-kelma prinċipali nginx. Jekk ma tafx kif tfittex artikoli f'dan is-sit, tinkwetax hawn aħna żidna links għall-artikoli nginx, għaddi u installaha skont id-distribuzzjonijiet Linux rispettivi tiegħek.
- Installa u Ikkompila Nginx minn Sorsi f'RHEL/CentOS 7
- Installa Nginx Web Server fuq Debian 8
- Installa Nginx ma' MariaDB u PHP/PHP-FPM fuq Fedora 23
- Installa Nginx Web Server fuq Ubuntu 15.10 Server/Desktop
- Ipproteġi l-Password Direttorji tal-Websajt Nginx
Imbagħad lesti biex tkompli bil-bqija ta 'dan it-tutorja.
Ħolqien ta' Hosts Virtwali bbażati fuq l-Ismijiet f'Nginx
Kif jien ċert li diġà taf, host virtwali huwa websajt li hija moqdija minn Nginx f'VPS sħab wieħed jew server fiżiku. Madankollu, fid-doks Nginx se ssib it-terminu \server blocks\
minflok, iżda huma bażikament l-istess ħaġa msejħa b'ismijiet differenti.
L-ewwel pass biex twaqqaf hosts virtwali huwa li toħloq blokk server wieħed jew aktar (fil-każ tagħna se noħolqu tnejn, wieħed għal kull dominju finta) fil-fajl tal-konfigurazzjoni prinċipali (/etc/nginx/nginx.conf) jew ġewwa /etc /nginx/siti-disponibbli.
Għalkemm l-isem tal-fajls tal-konfigurazzjoni f'dan id-direttorju (siti-disponibbli) jista 'jiġi ssettjat għal dak kollu li trid, hija idea tajba li tuża l-isem tad-dominji, u barra minn hekk għażilna li nżidu l-.conf
estensjoni biex tindika li dawn huma fajls ta' konfigurazzjoni.
Dawn il-blokki tas-server jistgħu jkunu relattivament kumplessi, iżda fil-forma bażika tagħhom jikkonsistu fil-kontenut li ġej:
Fi /etc/nginx/sites-available/tecmintlovesnginx.com.conf:
server { listen 80; server_name tecmintlovesnginx.com www.tecmintlovesnginx.com; access_log /var/www/logs/tecmintlovesnginx.access.log; error_log /var/www/logs/tecmintlovesnginx.error.log error; root /var/www/tecmintlovesnginx.com/public_html; index index.html index.htm; }
Fi /etc/nginx/sites-available/nginxmeanspower.com.conf:
server { listen 80; server_name nginxmeanspower.com www.nginxmeanspower.com; access_log /var/www/logs/nginxmeanspower.access.log; error_log /var/www/logs/nginxmeanspower.error.log error; root /var/www/nginxmeanspower.com/public_html; index index.html index.htm; }
Tista' tuża l-blokki ta' hawn fuq biex tibda twaqqaf l-hosts virtwali tiegħek, jew tista' toħloq il-fajls bl-iskeletru bażiku minn /etc/nginx/sites-available/default (Debian) jew /etc/nginx/nginx.conf.default ( CentOS).
Ladarba tkun ikkupjata, ibdel il-permessi u s-sjieda tagħhom:
# chmod 660 /etc/nginx/sites-available/tecmintlovesnginx.com.conf # chmod 660 /etc/nginx/sites-available/nginxmeanspower.com.conf
# chgrp www-data /etc/nginx/sites-available/tecmintlovesnginx.com.conf # chgrp www-data /etc/nginx/sites-available/nginxmeanspower.com.conf
# chgrp nginx /etc/nginx/sites-available/tecmintlovesnginx.com.conf # chgrp nginx /etc/nginx/sites-available/nginxmeanspower.com.conf
Meta tkun lest, għandek tħassar il-fajl tal-kampjun jew tibdel isem għal xi ħaġa oħra biex tevita konfużjoni jew kunflitti.
Jekk jogħġbok innota li ser ikollok bżonn ukoll toħloq id-direttorju għar-zkuk (/var/www/logs
) u tagħti lill-utent ta' Nginx (nginx jew www-data, skont jekk tkunx qed tħaddem CentOS jew Debian). ) aqra u tikteb permessi fuqha:
# mkdir /var/www/logs # chmod -R 660 /var/www/logs # chgrp <nginx user> /var/www/logs
L-hosts virtwali issa jridu jkunu attivati billi jinħoloq symlink għal dan il-fajl fid-direttorju tas-siti attivati:
# ln -s /etc/nginx/sites-available/tecmintlovesnginx.com.conf /etc/nginx/sites-enabled/tecmintlovesnginx.com.conf # ln -s /etc/nginx/sites-available/nginxmeanspower.com.conf /etc/nginx/sites-enabled/nginxmeanspower.com.conf
Sussegwentement, oħloq kampjun ta' fajl html bl-isem index.html
ġewwa /var/www/
għal kull wieħed mill-hosts virtwali (ibdel
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Tecmint loves Nginx</title> </head> <body> <h1>Tecmint loves Nginx!</h1> </body> </html>
Fl-aħħarnett, ittestja l-konfigurazzjoni Nginx u ibda s-server tal-web. Jekk ikun hemm xi żbalji fil-konfigurazzjoni, inti tintalab tikkoreġihom:
# nginx -t && systemctl start nginx
u żid l-entrati li ġejjin fil-fajl /etc/hosts
tiegħek fil-magna lokali tiegħek bħala strateġija bażika għar-riżoluzzjoni tal-isem:
192.168.0.25 tecmintlovesnginx.com 192.168.0.25 nginxmeanspower.com
Imbagħad iniedi web browser u mur fl-URLs elenkati hawn fuq:
Biex iżżid aktar hosts virtwali f'Nginx, irrepeti biss il-passi deskritti hawn fuq kemm-il darba jkun meħtieġ.
Hosts Virtwali bbażati fuq IP f'Nginx
Għall-kuntrarju ta' hosts virtwali bbażati fuq l-isem fejn l-hosts kollha huma aċċessibbli permezz tal-istess indirizz IP, hosts virtwali bbażati fuq IP jeħtieġu kombinazzjoni differenti ta' IP:port
kull wieħed.
Dan jippermetti lis-server tal-web biex jirritorna siti differenti skont l-indirizz IP u l-port fejn tiġi riċevuta t-talba. Peress li l-hosts virtwali bbażati fuq isem jagħtuna l-vantaġġ li naqsmu indirizz IP u port, huma l-istandard għal servers tal-web għal skopijiet ġenerali u għandhom ikunu s-setup tal-għażla sakemm il-verżjoni installata tiegħek ta 'Nginx ma tappoġġjax l-Indikazzjoni tal-Isem tas-Server (SNI) , jew għax hija VERŻJONI VERŻJONI skaduta, jew għax ġiet ikkumpilata mingħajr l-għażla tal-kompilazzjoni –with-http_ssl_module.
Jekk,
# nginx -V
ma jirritornax l-għażliet enfasizzati hawn taħt:
ser ikollok bżonn taġġorna l-verżjoni tiegħek ta 'Nginx jew tikkompilaha mill-ġdid, skont il-metodu ta' installazzjoni oriġinali tiegħek. Għall-kumpilazzjoni ta 'Nginx, segwi l-artikolu hawn taħt:
- Installa u Ikkompila Nginx minn Sorsi f'RHEL/CentOS 7
Jekk nassumu li nkunu tajbin biex immorru, irridu ninnutaw li prerekwiżit ieħor għal hosts virtwali bbażati fuq IP huwa d-disponibbiltà ta’ IPs separati – jew billi jiġu assenjati lil interfaces tan-netwerk distinti, jew permezz tal-użu ta’ IPs virtwali (magħrufa wkoll bħala IP aliasing). ).
Biex twettaq aliasing tal-IP f'Debian (jekk wieħed jassumi li qed tuża eth0), editja /etc/network/interfaces
kif ġej:
auto eth0:1 iface eth0:1 inet static address 192.168.0.25 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 auto eth0:2 iface eth0:2 inet static address 192.168.0.26 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Fl-eżempju t'hawn fuq noħolqu żewġ NICs virtwali minn eth0: eth0:1
(192.168.0.25) u eth0:2
(192.168.0.26).
F'CentOS, semmi mill-ġdid /etc/sysconfig/network-scripts/ifcfg-enp0s3 bħala ifcfg-enp0s3:1
u agħmel kopja bħala ifcfg-enp0s3:2
, u mbagħad biss ibdel il-linji li ġejjin, rispettivament:
DEVICE="enp0s3:1" IPADDR=192.168.0.25
u
DEVICE="enp0s3:2" IPADDR=192.168.0.26
Ladarba jsir, ibda mill-ġdid is-servizz tan-netwerk:
# systemctl restart networking
Sussegwentement, agħmel il-bidliet li ġejjin għall-blokki tas-server definiti qabel f'dan l-artikolu:
Fi /etc/nginx/sites-available/tecmintlovesnginx.com.conf:
listen 192.168.0.25:80
Fi /etc/nginx/sites-available/nginxmeanspower.com.conf:
listen 192.168.0.26:80
Fl-aħħarnett, ibda mill-ġdid Nginx biex il-bidliet jidħlu fis-seħħ.
# systemctl restart nginx
u tinsiex taġġorna l-/etc/hosts
lokali tiegħek kif xieraq:
192.168.0.25 tecmintlovesnginx.com 192.168.0.26 nginxmeanspower.com
Għalhekk, kull talba li ssir lil 192.168.0.25 u 192.168.0.26 fuq il-port 80 se tirritorna tecmintlovesnginx.com u nginxmeanspower.com, rispettivament:
Kif tistgħu taraw fl-immaġini ta 'hawn fuq, issa għandek żewġ hosts virtwali bbażati fuq IP li jużaw l-uniku NIC fis-server tiegħek b'żewġ psewdonimi IP differenti.
Sommarju
F'dan it-tutorja spjegajna kif twaqqaf kemm hosts virtwali bbażati fuq l-isem kif ukoll ibbażati fuq IP f'Nginx. Għalkemm probabilment trid tuża l-ewwel għażla, huwa importanti li tkun taf li l-għażla l-oħra għadha hemm jekk ikollok bżonnha - kun żgur li tieħu din id-deċiżjoni wara li tikkunsidra l-fatti deskritti f'din il-gwida.
Barra minn hekk, tista 'tixtieq li tagħmel bookmark id-doks Nginx peress li huwa denju u tajjeb li tirreferi għalihom ta' spiss waqt li toħloq blokki tas-server (hemmhekk għandek - qed nitkellmu bil-lingwa Nginx issa) u tikkonfigurahom. Mhux se temmen l-għażliet kollha li huma disponibbli biex jiġi kkonfigurat u rranġat dan is-server tal-web pendenti.
Bħal dejjem, toqgħodx lura milli tibgħatilna linja billi tuża l-formola hawn taħt jekk għandek xi mistoqsijiet jew kummenti dwar dan l-artikolu. Nistennew bil-ħerqa li nisimgħu mingħandek, u l-feedback tiegħek dwar din il-gwida hija milqugħa l-aktar.