Salīdzinoši īsā laika posmā, kopš tā tika izstrādāta un darīta pieejama (nedaudz vairāk par 10 gadiem), Nginx ir piedzīvojusi ilgstošu un vienmērīgu tīmekļa serveru pieaugumu, pateicoties augstajai veiktspējai un zemajam atmiņas patēriņam.
Kopš Nginx ir bezmaksas un atvērtā pirmkoda programmatūra, to ir pieņēmuši tūkstošiem tīmekļa serveru administratoru visā pasaulē ne tikai Linux un *nix serveros, bet arī Microsoft Windows.
Nepalaid garām: Uz Apache nosaukumu un IP balstīta virtuālā mitināšana
Tiem no mums, kuri pieraduši visvairāk Apache, Nginx var būt nedaudz stāva mācīšanās līkne (vismaz man tā bija), taču tas noteikti atmaksājas, kad esat izveidojis pāris vietnes un sācis skatīt datplūsmas un resursu izmantošanas statistiku.
Šajā rakstā mēs izskaidrosim, kā iestatīšanai izmantot Nginx uz vārda bāzes un uz ip bāzes virtuālā mitināšana CentOS/RHEL 7 serveri un Debian 8 un atvasinājumi, sākot ar Ubuntu 15.04 un tā papildinājumiem.
Ja vēl neesat to izdarījis, pirms turpināt, lūdzu, instalējiet Nginx. Ja jums nepieciešama palīdzība, lai sāktu darbu, ātri meklējot nginx šajā vietnē, tiks atrasti vairāki raksti par šo tēmu. Noklikšķiniet uz palielināmā stikla ikonas šīs lapas augšpusē un meklējiet atslēgvārdu nginx. Ja jūs nezināt, kā meklēt rakstus šajā vietnē, neuztraucieties šeit, mēs esam pievienojuši saites uz nginx rakstiem, vienkārši ejiet cauri un instalējiet to atbilstoši saviem attiecīgajiem Linux izplatījumiem.
Pēc tam sagatavojieties turpināt pārējo šo apmācību.
Kā es esmu pārliecināts, ka jūs jau zināt, virtuālais saimniekdators ir vietne, kuru Nginx apkalpo vienā mākoņa VPS vai fiziskā serverī. Tomēr Nginx dokumentos jūs atradīsit šo terminu "servera bloki"
tā vietā, bet tie būtībā ir viens un tas pats, ko sauc dažādos vārdos.
Pirmais solis virtuālo saimniekdatoru iestatīšanai ir izveidot vienu vai vairākus servera blokus (mūsu gadījumā mēs izveidosim divus, vienu katram fiktīvajam domēnam) galvenajā konfigurācijas failā (/etc/nginx/nginx.conf) vai iekšpusē /etc/nginx/sites-available.
Lai gan šajā direktorijā esošo konfigurācijas failu nosaukums (vietnes pieejamas) var iestatīt pēc vēlēšanās, ieteicams izmantot domēnu nosaukumu, turklāt mēs izvēlējāmies pievienot .conf
paplašinājumu, lai norādītu, ka tie ir konfigurācijas faili.
Šie serveru bloki var būt samērā sarežģīti, taču pamatformā tie sastāv no šāda satura:
In /etc/nginx/sites-available/tecmintlovesnginx.com.conf:
serveris {klausīties 80; servera_nosaukums tecmintlovesnginx.com www.tecmintlovesnginx.com; access_log /var/www/logs/tecmintlovesnginx.access.log; error_log /var/www/logs/tecmintlovesnginx.error.log kļūda; root /var/www/tecmintlovesnginx.com/public_html; indekss index.html index.htm; }
In /etc/nginx/sites-available/nginxmeanspower.com.conf:
serveris {klausīties 80; servera_nosaukums nginxmeanspower.com www.nginxmeanspower.com; access_log /var/www/logs/nginxmeanspower.access.log; error_log /var/www/logs/nginxmeanspower.error.log kļūda; root /var/www/nginxmeanspower.com/public_html; indekss index.html index.htm; }
Varat izmantot iepriekš minētos blokus, lai sāktu iestatīt virtuālos saimniekdatorus, vai arī varat izveidot failus ar pamata skeletu no /etc/nginx/sites-available/default (Debian) vai /etc/nginx/nginx.conf.default (CentOS).
Pēc kopēšanas mainiet to atļaujas un īpašumtiesības:
# 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.
Kad esat pabeidzis, jums vajadzētu izdzēst parauga failu vai pārdēvēt to par kaut ko citu, lai izvairītos no neskaidrībām vai konfliktiem.
Lūdzu, ņemiet vērā, ka jums būs jāizveido arī žurnālu direktorijs (/var/www/logs
) un dodiet Nginx lietotājam (nginx vai www-dati, atkarībā no tā, vai izmantojat CentOS vai Debian) lasīšanas un rakstīšanas atļaujas:
# mkdir/var/www/logs. # chmod -R 660/var/www/logs. # chgrp/var/www/logs.
Tagad ir jāiespējo virtuālie saimniekdatori, izveidojot simbolu uz šo failu vietnēs iespējotajā direktorijā:
# 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.
Pēc tam izveidojiet parauga html failu ar nosaukumu index.html
iekšā /var/www/
katram virtuālajam saimniekdatoram (aizstāt kā nepieciešams). Ja nepieciešams, mainiet šādu kodu:
Tecmintam patīk Nginx Tecmintam patīk Nginx!
Visbeidzot, pārbaudiet Nginx konfigurāciju un palaidiet tīmekļa serveri. Ja konfigurācijā ir kļūdas, jums tiks piedāvāts tās labot:
# nginx -t && systemctl start nginx.
un pievienojiet saviem ierakstiem šādus ierakstus /etc/hosts
failu vietējā datorā kā pamata nosaukuma risināšanas stratēģiju:
192.168.0.25 tecmintlovesnginx.com. 192.168.0.25 nginxmeanspower.com.
Pēc tam palaidiet tīmekļa pārlūkprogrammu un dodieties uz iepriekš uzskaitītajiem URL:
Lai Nginx pievienotu vairāk virtuālo saimnieku, vienkārši atkārtojiet iepriekš aprakstītās darbības tik reižu, cik nepieciešams.
Pretstatā uz vārda bāzes virtuālie saimnieki, kur visi saimnieki ir pieejami, izmantojot to pašu IP adresi, IP balstīta virtuālajiem saimniekiem ir nepieciešams cits IP: ports
kombinācija katra.
Tas ļauj tīmekļa serverim atgriezt dažādas vietnes atkarībā no IP adreses un porta, kurā tiek saņemts pieprasījums. Tā kā uz nosaukumiem balstīti virtuālie saimnieki dod mums iespēju koplietot IP adresi un portu, tie ir standarts vispārējas nozīmes tīmekļa serveriem, un tie būtu jāizvēlas, ja vien jūsu instalētā Nginx versija to nedara atbalstu Servera nosaukuma norāde (SNI), vai nu tāpēc, ka tā ir TIKAI novecojusi versija, vai arī tāpēc, ka tā tika apkopota bez –Ar-http_ssl_module kompilēšanas iespēja.
Ja,
# nginx -V.
neatgriež tālāk izceltās opcijas:
jums būs jāatjaunina sava Nginx versija vai jāpārkompilē atkarībā no sākotnējās instalēšanas metodes. Lai apkopotu Nginx, sekojiet zemāk esošajam rakstam:
Pieņemot, ka mums ir labi doties, mums jāņem vērā, ka vēl viens priekšnoteikums IP balstīta virtuālie saimnieki ir atsevišķu IP pieejamība - vai nu piešķirot tos atšķirīgām tīkla saskarnēm, vai izmantojot virtuālos IP (pazīstams arī kā IP aizstājvārds).
Lai veiktu IP aizstājvārdu Debian (pieņemot, ka izmantojat eth0), rediģēt /etc/network/interfaces
sekojoši:
auto eth0: 1. iface eth0: 1 inet statiskā adrese 192.168.0.25 tīkla maska 255.255.255.0 tīkls 192.168.0.0 apraide 192.168.0.255 vārteja 192.168.0.1. auto eth0: 2. iface eth0: 2 inet statiskā adrese 192.168.0.26 netmaska 255.255.255.0 tīkls 192.168.0.0 apraide 192.168.0.255 vārteja 192.168.0.1.
Iepriekš minētajā piemērā mēs izveidojam divus virtuālos NIC eth0: eth0: 1
(192.168.0.25) un et0: 2
(192.168.0.26).
CentOS, pārdēvējiet /etc/sysconfig/network-scripts/ifcfg-enp0s3 kā ifcfg-enp0s3: 1
un izveidojiet kopiju kā ifcfg-enp0s3: 2
, un pēc tam vienkārši mainiet attiecīgi šādas rindas:
IERĪCE = "enp0s3: 1" IPADDR = 192.168.0.25.
un
IERĪCE = "enp0s3: 2" IPADDR = 192.168.0.26.
Kad esat pabeidzis, restartējiet tīkla pakalpojumu:
# systemctl restartējiet tīklu.
Pēc tam veiciet šādas izmaiņas šajā rakstā iepriekš definētajos serveru blokos:
In /etc/nginx/sites-available/tecmintlovesnginx.com.conf:
klausies 192.168.0.25:80.
In /etc/nginx/sites-available/nginxmeanspower.com.conf:
klausies 192.168.0.26:80.
Visbeidzot, restartējiet Nginx, lai izmaiņas stātos spēkā.
# systemctl restartējiet nginx.
un neaizmirstiet atjaunināt vietējo /etc/hosts
attiecīgi:
192.168.0.25 tecmintlovesnginx.com. 192.168.0.26 nginxmeanspower.com.
Tādējādi katrs pieprasījums tika iesniegts 192.168.0.25 un 192.168.0.26 ostā 80 atgriezīsies tecmintlovesnginx.com un nginxmeanspower.com, attiecīgi:
Kā redzat iepriekš redzamajos attēlos, tagad jums ir divi virtuāli resursdatori, kuru pamatā ir IP, izmantojot vienīgo tīkla karti jūsu serverī ar diviem dažādiem IP aizstājvārdiem.
Šajā apmācībā mēs esam izskaidrojuši, kā iestatīt abus uz vārda bāzes un IP balstīta virtuālie saimnieki Nginx. Lai gan jūs, iespējams, vēlēsities izmantot pirmo iespēju, ir svarīgi zināt, ka otra iespēja joprojām ir tur, ja jums tas ir nepieciešams - pārliecinieties, ka pieņemat šo lēmumu, apsverot šajā izklāstītos faktus vadīt.
Turklāt, iespējams, vēlēsities pievienot grāmatzīmi Nginx dokumentos jo ir vērts un labi uz tiem bieži atsaukties, veidojot serveru blokus (tur jums tas ir - mēs tagad runājam Nginx valodā) un tos konfigurējot. Jūs neticēsiet visām iespējām, kas ir pieejamas šī izcilā tīmekļa servera konfigurēšanai un noregulēšanai.
Ja jums ir kādi jautājumi vai komentāri par šo rakstu, kā vienmēr, nevilcinieties atstāt mums rindu, izmantojot zemāk esošo veidlapu. Mēs ceram uz jūsu atsauksmi, un jūsu atsauksmes par šo rokasgrāmatu ir ļoti gaidītas.