A fejlesztés és a rendelkezésre bocsátás óta viszonylag rövid idő alatt (valamivel több mint 10 év), Nginx folyamatos és folyamatos növekedést tapasztalt a webszerverek között a nagy teljesítmény és az alacsony memóriahasználat miatt.
Mivel Nginx ingyenes és nyílt forráskódú szoftver, világszerte több ezer webszerver -rendszergazda fogadta el, nemcsak Linux és *nix szervereken, hanem a Microsoft Windows rendszeren is.
Ne hagyja ki: Apache név- és IP-alapú virtuális tárhely
Azoknak, akiket a legjobban szoktunk Apache, Nginx lehet, hogy némileg meredek tanulási görbéje van (legalábbis az én esetemben), de minden bizonnyal kifizetődik, ha létrehoz egy pár webhelyet, és elkezdi látni a forgalom és az erőforrás -felhasználási statisztikákat.
Ebben a cikkben elmagyarázzuk, hogyan kell használni az Nginx -et a beállításhoz név alapú és ip-alapú virtuális tárhely CentOS/RHEL 7 szerverek és Debian 8 és származékai, kezdve az Ubuntu 15.04-el és annak spin-offjaival.
Ha még nem tette meg, telepítse az Nginx programot, mielőtt továbblép. Ha segítségre van szüksége az induláshoz, az nginx gyors keresése ezen az oldalon több cikket is megjelenít ebben a témában. Kattintson az oldal tetején található nagyító ikonra és keressen rá az nginx kulcsszóra. Ha nem tudja, hogyan kell cikkeket keresni ezen az oldalon, ne aggódjon, itt linkeket adtunk hozzá az nginx cikkekhez, csak nézze át és telepítse a megfelelő Linux disztribúciónak megfelelően.
Ezután készüljön fel az oktatóanyag többi részének folytatására.
Amint biztos vagyok benne, hogy már tudja, a virtuális gazdagép olyan webhely, amelyet az Nginx egyetlen felhőalapú VPS -ben vagy fizikai kiszolgálón lát el. Azonban a Nginx dokumentumokban megtalálható a kifejezés "szerver blokkok"
helyette, de alapvetően ugyanazok, amelyeket különböző neveknek neveznek.
A virtuális gépek beállításának első lépése egy vagy több szerverblokk létrehozása (esetünkben kettőt, egyet minden dummy tartományhoz) a fő konfigurációs fájlban (/etc/nginx/nginx.conf) vagy belül /etc/nginx/sites-available.
Bár a konfigurációs fájlok neve ebben a könyvtárban (elérhető webhelyek) tetszés szerint beállítható, célszerű a domainek nevét használni, emellett a .conf
kiterjesztés jelzi, hogy ezek konfigurációs fájlok.
Ezek a szerverblokkok viszonylag összetettek lehetnek, de alapformájukban a következő tartalomból állnak:
Ban ben /etc/nginx/sites-available/tecmintlovesnginx.com.conf:
szerver {figyelj 80; szerver_neve tecmintlovesnginx.com www.tecmintlovesnginx.com; access_log /var/www/logs/tecmintlovesnginx.access.log; error_log /var/www/logs/tecmintlovesnginx.error.log hiba; root /var/www/tecmintlovesnginx.com/public_html; index index.html index.htm; }
Ban ben /etc/nginx/sites-available/nginxmeanspower.com.conf:
szerver {figyelj 80; szerver_neve nginxmeanspower.com www.nginxmeanspower.com; access_log /var/www/logs/nginxmeanspower.access.log; error_log /var/www/logs/nginxmeanspower.error.log hiba; root /var/www/nginxmeanspower.com/public_html; index index.html index.htm; }
A fenti blokkok segítségével elindíthatja a virtuális gépek beállítását, vagy létrehozhatja a fájlokat az alapváz segítségével /etc/nginx/sites-available/default (Debian) vagy /etc/nginx/nginx.conf.default (CentOS).
A másolás után módosítsa jogosultságaikat és tulajdonjogukat:
# 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.
Ha elkészült, törölje a mintafájlt, vagy nevezze át másra, hogy elkerülje a zavart vagy a konfliktusokat.
Kérjük, vegye figyelembe, hogy létre kell hoznia a naplók könyvtárát (/var/www/logs
) és adja meg az Nginx felhasználónak (nginx vagy www-adatokattól függően, hogy CentOS -t vagy Debian -t futtat) olvasási és írási jogosultságok felette:
# mkdir/var/www/logs. # chmod -R 660/var/www/logs. # chgrp/var/www/logs.
A virtuális gépeket most engedélyezni kell, létrehozva egy szimbólum hivatkozást erre a fájlra a webhelyek engedélyezett könyvtárában:
# 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.
Ezután hozzon létre egy minta html fájlt index.html
belül /var/www/
minden virtuális gazdagéphez (cserélje ki szükség szerint). Szükség szerint módosítsa a következő kódot:
Tecmint szereti az Nginxet Tecmint szereti az Nginxet!
Végül tesztelje az Nginx konfigurációt, és indítsa el a webszervert. Ha bármilyen hiba van a konfigurációban, akkor a rendszer kéri, hogy javítsa ki őket:
# nginx -t && systemctl indítsa el az nginx -et.
és adja hozzá a következő bejegyzéseket /etc/hosts
fájlt a helyi gépen alap névfeloldási stratégiaként:
192.168.0.25 tecmintlovesnginx.com. 192.168.0.25 nginxmeanspower.com.
Ezután indítson el egy webböngészőt, és lépjen a fent felsorolt URL -ekre:
Ha további virtuális gépeket szeretne hozzáadni az Nginxhez, ismételje meg a fent leírt lépéseket, ahányszor csak szükséges.
Szemben a név alapú virtuális gépek, ahol minden gazdagép ugyanazon IP -címen keresztül érhető el, IP-alapú a virtuális gépek mást igényelnek IP: port
kombináció mindegyik.
Ez lehetővé teszi, hogy a webszerver különböző webhelyeket küldjön vissza, attól függően, hogy az IP -címet és portot, amelyen a kérés érkezett. Mivel a megnevezett alapú virtuális gépek előnyt jelentenek számunkra az IP-cím és a port megosztásában, ezek a szabványok általános célú webszerverek, és ez legyen a választott beállítás, hacsak az Nginx telepített verziója nem támogatás Szervernév jelzése (SNI), vagy azért, mert TÉNYLEG elavult verzióról van szó, vagy mert a –-Http_ssl_module-val fordítási lehetőség.
Ha,
# nginx -V.
nem adja vissza az alábbi kiemelt lehetőségeket:
frissítenie kell az Nginx verzióját, vagy újra kell fordítania az eredeti telepítési módtól függően. Az Nginx összeállításához kövesse az alábbi cikket:
Feltételezve, hogy jól megyünk, meg kell jegyeznünk, hogy ennek egy másik előfeltétele IP-alapú A virtuális gépek a különálló IP -címek elérhetőségét - vagy különálló hálózati interfészek hozzárendelésével, vagy virtuális IP -címek használatával (más néven IP -aliasing).
IP aliasing végrehajtásához Debian (feltételezve, hogy használ eth0), szerkesztés /etc/network/interfaces
alábbiak szerint:
auto eth0: 1. iface eth0: 1 inet statikus cím 192.168.0.25 netmask 255.255.255.0 hálózat 192.168.0.0 broadcast 192.168.0.255 átjáró 192.168.0.1. auto eth0: 2. iface eth0: 2 inet statikus cím 192.168.0.26 netmask 255.255.255.0 hálózat 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1.
A fenti példában két virtuális hálózati kártyát hozunk létre eth0: eth0: 1
(192.168.0.25) és et0: 2
(192.168.0.26).
CentOS -ban nevezd át /etc/sysconfig/network-scripts/ifcfg-enp0s3 mint ifcfg-enp0s3: 1
és másolatot készít ifcfg-enp0s3: 2
, majd módosítsa a következő sorokat:
Eszköz = "enp0s3: 1" IPADDR = 192.168.0.25.
és
Eszköz = "enp0s3: 2" IPADDR = 192.168.0.26.
Ha kész, indítsa újra a hálózati szolgáltatást:
# systemctl indítsa újra a hálózatot.
Ezután hajtsa végre a következő módosításokat a cikkben korábban meghatározott kiszolgálóblokkokon:
Ban ben /etc/nginx/sites-available/tecmintlovesnginx.com.conf:
figyelj 192.168.0.25:80.
Ban ben /etc/nginx/sites-available/nginxmeanspower.com.conf:
figyelj 192.168.0.26:80.
Végül indítsa újra az Nginx -et, hogy a módosítások életbe lépjenek.
# systemctl indítsa újra az nginx -et.
és ne felejtse el frissíteni a helyi /etc/hosts
Eszerint:
192.168.0.25 tecmintlovesnginx.com. 192.168.0.26 nginxmeanspower.com.
Így minden egyes kérés a 192.168.0.25 és 192.168.0.26 a kikötőben 80 vissza fog térni tecmintlovesnginx.com és nginxmeanspower.com, illetve:
Amint az a fenti képeken is látható, most két IP-alapú virtuális gazdagépet használ a szerver egyetlen NIC-jével, két különböző IP-álnévvel.
Ebben az oktatóanyagban elmagyaráztuk, hogyan kell mindkettőt beállítani név alapú és IP-alapú virtuális gépek az Nginx -ben. Bár valószínűleg az első lehetőséget szeretné használni, fontos tudni, hogy a másik lehetőség továbbra is fennáll ott, ha szüksége van rá - csak győződjön meg arról, hogy ezt a döntést meghozza, miután figyelembe vette az ebben vázolt tényeket útmutató.
Ezenkívül érdemes könyvjelzőt is hozzáadni az Nginx dokumentumok mivel érdemes és érdemes gyakran hivatkozni rájuk szerverblokkok létrehozása közben (ott van - most az Nginx nyelven beszélünk) és konfigurálásuk. Nem fogja elhinni az összes lehetőséget, amely rendelkezésre áll ennek a kiemelkedő webszervernek a konfigurálásához és hangolásához.
Mint mindig, ne habozzon, írjon nekünk egy sort az alábbi űrlap segítségével, ha bármilyen kérdése vagy megjegyzése van a cikkel kapcsolatban. Várjuk jelentkezését, és szívesen fogadjuk visszajelzéseit az útmutatóval kapcsolatban.