Apache virtuālais mitināšana: uz IP balstīti un uz nosaukumiem balstīti virtuālie hosti RHEL/CentOS/Fedora
Tā kā mēs visi zinām, ka Apache ir ļoti spēcīgs, ļoti elastīgs un konfigurējams tīmekļa serveris Nix OS. Šajā apmācībā mēs apspriedīsim vēl vienu Apache funkciju, kas ļauj mums mitināt vairāk nekā vienu vietni vienā Linux mašīnā. Virtuālā mitināšanas ieviešana ar Apache tīmekļa serveri var palīdzēt ietaupīt izmaksas, kuras ieguldāt sava servera uzturēšanā un administrēšanā.
Dalītā tīmekļa mitināšanas un tālākpārdevēja tīmekļa mitināšanas koncepcija ir balstīta tikai uz šo Apache iespēju.
Ar Apache ir pieejami divi virtuālā mitināšanas veidi.
Izmantojot nosaukuma virtuālo mitināšanu, vienā mašīnā ar vienu IP varat mitināt vairākus domēnus/vietnes. Visiem šī servera domēniem būs kopīgs viens IP. To ir vieglāk konfigurēt nekā virtuālo mitināšanu, kura pamatā ir IP. Jums tikai jākonfigurē domēna DNS, lai kartētu to ar pareizo IP adresi, un pēc tam jākonfigurē Apache, lai atpazītu to ar domēna nosaukumiem.
Izmantojot uz IP balstītu virtuālo mitināšanu, katram serverim varat piešķirt atsevišķu IP katram serverim, šos IP serverim var pievienot ar atsevišķām NIC kartēm un vairākiem NIC.
Ļauj iestatīt virtuālo mitināšanu ar nosaukumu un IP, pamatojoties uz IP, RHEL, CentOS un Fedora.
- OS - CentOS 6.5
- Lietojumprogramma - Apache tīmekļa serveris
- IP adrese - 192.168.0.100
- IP adrese - 192.168.0.101
- Domēns - www.example1.com
- Domēns - www.example2.com
Kā iestatīt uz IP balstītos un uz nosaukumiem balstītos Apache virtuālos saimniekus
Pirms virtuālā mitināšanas iestatīšanas ar Apache jūsu sistēmā jābūt instalētai Apache tīmekļa programmatūrai. ja nē, instalējiet to, izmantojot noklusējuma pakotņu instalēšanas programmu, ko sauc par yum.
yum install httpd
Bet pirms virtuālā resursdatora izveidošanas jums jāizveido direktorijs, kurā glabāsit visus savas vietnes failus. Tātad, izveidojiet direktorijus šiem diviem virtuālajiem resursdatoriem mapē/var/www/html. Lūdzu, atcerieties, ka/var/www/html būs noklusējuma dokumenta sakne Apache virtuālajā konfigurācijā.
mkdir /var/www/html/example1.com/ mkdir /var/www/html/example2.com/
Lai iestatītu virtuālo mitināšanu, kura pamatā ir nosaukums, jums jāpaziņo Apache, kuru IP izmantosit, lai saņemtu Apache pieprasījumus visām vietnēm vai domēnu nosaukumiem. Mēs to varam izdarīt ar NameVirtualHost direktīvu. Atveriet Apache galveno konfigurācijas failu ar VI redaktoru.
vi /etc/httpd/conf/httpd.conf
Meklējiet NameVirtualHost un noņemiet komentāru no šīs rindiņas, noņemot zīmi # priekšā.
NameVirtualHost
Pēc tam pievienojiet IP ar iespējamo, kurā vēlaties saņemt Apache pieprasījumus. Pēc izmaiņām failam vajadzētu izskatīties šādi:
NameVirtualHost 192.168.0.100:80
Ir pienācis laiks iestatīt virtuālo resursdatora sadaļas jūsu domēniem, pārejiet uz faila apakšdaļu, nospiežot Shift + G. Šeit šajā piemērā mēs iestatām virtuālās resursdatora sadaļas diviem domēniem
- www.example1.com
- www.example2.com
Pievienojiet šādas divas virtuālās direktīvas faila apakšdaļā. Saglabājiet un aizveriet failu.
<VirtualHost 192.168.0.100:80> ServerAdmin [email DocumentRoot /var/www/html/example1.com ServerName www.example1.com ErrorLog logs/www.example1.com-error_log CustomLog logs/www.example1.com-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin [email DocumentRoot /var/www/html/example2.com ServerName www.example2.com ErrorLog logs/www.example2.com-error_log CustomLog logs/www.example2.com-access_log common </VirtualHost>
Jūs varat brīvi pievienot tik daudz direktīvu, kādas vēlaties pievienot savu domēnu virtuālā resursdatora sadaļā. Kad esat pabeidzis izmaiņas failā httpd.conf, lūdzu, pārbaudiet failu sintaksi ar šādu komandu.
httpd -t Syntax OK
Pēc dažu izmaiņu veikšanas un pirms tīmekļa servera restartēšanas ieteicams pārbaudīt faila sintaksi, jo, ja kāda sintakse kļūs nepareiza, Apache atteiksies strādāt ar dažām kļūdām un galu galā kādu laiku ietekmēs jūsu esošo tīmekļa serveri. Ja sintakse ir kārtībā. Lūdzu, restartējiet savu tīmekļa serveri un pievienojiet to chkconfig, lai jūsu tīmekļa serveris sāktu darboties tikai 3. un 5. darbības līmenī tikai sāknēšanas laikā.
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
chkconfig --level 35 httpd on
Tagad ir pienācis laiks izveidot testa lapu ar nosaukumu index.html, pievienojiet failam kādu saturu, lai mums būtu, ko to pārbaudīt, kad IP izsauks virtuālo resursdatoru.
vi /var/www/html/example1.com/index.html
<html> <head> <title>www.example1.com</title> </head> <body> <h1>Hello, Welcome to www.example1.com.</h1> </body> </html>
vi /var/www/html/example2.com/index.html
<html> <head> <title>www.example2.com</title> </head> <body> <h1>Hello, Welcome to www.example2.com.</h1> </body> </html>
Kad esat to pabeidzis, varat pārbaudīt iestatīšanu, pārlūkprogrammā piekļūstot abiem domēniem.
http://www.example1.com http://www.example2.com
Lai iestatītu uz IP balstītu virtuālo mitināšanu, serverim vai Linux mašīnai ir jāpiešķir vairākas IP adreses/ports.
Tas var būt vienā NIC kartē, piemēram: eth0: 1, eth0: 2, eth0: 3 ... utt. Var pievienot arī vairākas NIC kartes. Ja nezināt, kā vienā tīklā izveidot vairākus IP, izpildiet tālāk sniegto rokasgrāmatu, kas jums palīdzēs izveidot.
- Izveidojiet vairākas IP adreses vienam vienotam tīkla interfeisam
Virtuālā mitināšanas, kas balstīts uz IP, ieviešanas mērķis ir piešķirt ieviešanu katram domēnam, un šo konkrēto IP neizmantos neviens cits domēns.
Šāda veida iestatīšana ir nepieciešama, ja vietne darbojas ar SSL sertifikātu (mod_ssl) vai dažādās ostās un IP. Un vienā mašīnā jūs varat arī palaist vairākus Apache gadījumus. Lai pārbaudītu serverī pievienotos IP, lūdzu, pārbaudiet to, izmantojot komandu ifconfig.
[email ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:4C:EB:CE inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe4c:ebce/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17550 errors:0 dropped:0 overruns:0 frame:0 TX packets:15120 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:16565983 (15.7 MiB) TX bytes:2409604 (2.2 MiB) eth0:1 Link encap:Ethernet HWaddr 08:00:27:4C:EB:CE inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1775 errors:0 dropped:0 overruns:0 frame:0 TX packets:1775 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3416104 (3.2 MiB) TX bytes:3416104 (3.2 MiB)
Kā redzat iepriekš izvadē, divi IP 192.168.0.100 (eth0) un 192.168.0.101 (eth0: 1) ir pievienoti serverim, abi IP ir piešķirti vienai un tai pašai fiziskā tīkla ierīcei (eth0).
Tagad, piešķirot konkrētu IP/portu, lai saņemtu http pieprasījumus, varat to vienkārši izdarīt, mainot Klausīšanās direktīvu failā httpd.conf.
vi /etc/httpd/conf/httpd.conf
Meklējiet vārdu “Klausīties”, jūs atradīsit sadaļu, kurā ir uzrakstīts īss apraksts par Klausīšanās direktīvu. Šajā sadaļā komentējiet sākotnējo rindu un zem šīs rindiņas uzrakstiet savu direktīvu.
# Listen 80 Listen 192.168.0.100:80
Tagad izveidojiet virtuālā resursdatora sadaļas abiem domēniem. Pārejiet uz faila apakšdaļu un pievienojiet šādas virtuālās direktīvas.
<VirtualHost 192.168.0.100:80> ServerAdmin [email DocumentRoot /var/www/html/example1 ServerName www.example1.com ErrorLog logs/www.example1.com-error_log TransferLog logs/www.example1.com-access_log </VirtualHost> <VirtualHost 192.168.0.101:80> ServerAdmin [email DocumentRoot /var/www/html/example2 ServerName www.example2.com ErrorLog logs/www.example2.com-error_log TransferLog logs/www.example2.com-access_log </VirtualHost>
Tā kā esat mainījis galveno Apache conf failu, jums ir jārestartē http pakalpojums, kā norādīts zemāk.
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
Pārbaudiet sava virtuālā mitināšanas iestatījumus, kuru pamatā ir IP, piekļūstot URL tīmekļa pārlūkprogrammā, kā parādīts zemāk.
http://www.example1.com http://www.example2.com
Tas viss ir ar Apache virtuālo resursdatoru šodien. Ja vēlaties nodrošināt un nostiprināt savu Apache konfigurāciju, izlasiet mūsu rakstu, kurā ir norādījumi.
- 13 Apache tīmekļa servera drošības un cietēšanas padomi
Atsauces saites
Apache virtuālā resursdatora dokumentācija
Es atkal nākšu ar dažiem citiem Apache padomiem un trikiem savos turpmākajos rakstos, līdz tam esiet Geeky un savienots ar linux-console.net. Neaizmirstiet atstāt savus ieteikumus par rakstu mūsu komentāru sadaļā zemāk.