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.

  1. Sistema Operattiva: Debian 8 Jessie server [IP 192.168.0.25]
  2. Gateway: Router [IP 192.168.0.1]
  3. Web Server: Nginx 1.6.2-5
  4. 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.

  1. Installa u Ikkompila Nginx minn Sorsi f'RHEL/CentOS 7
  2. Installa Nginx Web Server fuq Debian 8
  3. Installa Nginx ma' MariaDB u PHP/PHP-FPM fuq Fedora 23
  4. Installa Nginx Web Server fuq Ubuntu 15.10 Server/Desktop
  5. 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//public_html għal kull wieħed mill-hosts virtwali (ibdel bħala meħtieġa). Immodifika l-kodiċi li ġej kif meħtieġ:

<!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:

  1. 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.