Forfatter: Zheng Tao
Linux styresystemet er meget varmt nu, så mange af mine venner vil vide mere om Linux, realiseringen af det virtuelle domæne. Følgende er baseret på aktuelle populært på RedHat at diskutere.
1, DNS server indstillinger
Vi ved, at Internettet netværk er baseret på TCP / IP protokollen til at kommunikere, skal være hinandens IP-adresse, som er opnået gennem DNS server. Så for at gøre den virtuelle domæne først DNS server til at acceptere den virtuelle domæne, altså at det kort til den angivne IP-adresse. Fordi vi er afhængige af at skelne domænenavnet webserveren, så det bør være IP-adressen på den fysiske lykkedes webserver.
RedHat6.0 operativsystem bundtet med BIND DNS server. Det er det domæne konfigurationsfilen er "/ etc / named.conf", under normale omstændigheder, det domæne opsætningsfiler i "/ var / navnet" mappe.
Tilfælde 1, named.conf konfigurationsfilen:
zone "domain.com" (
type master;
filen "domain.com";
);
zone "0.10.10.in-addr.arpa" (
type master;
filen "10.10.0";
);
De eksempler på "domain.com" domæne opsætningsfil er "/ var / navngivet / domain.com", reverse domæne konfigurationsfilen er "/ var/named/10.10.0". domain.com fil er ansvarlig for kortlægning DNS domæne IP-adresse.
Tilfælde 2, domain.com fil konfiguration:
@ IN SOA dns.domain.com. Hostmaster.dns.domain.com. (
1998111003; serie
3600; refresh
900; prøv igen
1209600; udløber
43200; default_ttl
)
@ IN MX 10 dns.domain.com.
@ IN NS dns.domain.com.
@ IN A 10.10.0.1
www IN A 10.10.0.1
Antages at stige domænenavnet er aaa.domain.com, ønsker at pege på www.domain.com, bør DNS-tjenester tilføjes et alias registrere, kan skrives som:
aaa IN CNAME www.domain.com.
Hvis du har brug for at konfigurere et stort antal virtuelle domæne, domain.com fil være stor, men også meget besværlige. Vi kan bruge symbolet "*", det vil sige at deltage i domain.com fil:
* IN CNAME www.domain.com.
For at det ikke har bragt alle de indstillinger gives til domain.com til www.domain.com stopper for alle de poster, og om aaa.domain.com eller bbb.domain.com. Dette vil ikke påvirke den nuværende rekord. Konfigureret DNS server skal genstarte de navngivne dæmonen:
[Root @ domæne / root] # / etc / rc.d / init.d / navngivet restart
[Næste]
Linux styresystemet er meget varmt nu, så mange af mine venner vil vide mere om Linux, erkendelsesproces af den virtuelle domæne. Følgende er baseret på aktuelle populært på RedHat at diskutere.
2, Apache server konfiguration
Apache-server er den mest udbredte Internet Web server, der kan bevare en meget travl arbejdsplads. RedHat 6,0 bundter Apache Web Server 1,3. Dens konfiguration fil placeret i "/ etc / httpd / conf" mappe, der er httpd.conf, srm.conf, access.conf, drøfte følgende om opsætningen af den virtuelle domæne:
1, statisk konfiguration
Skridt til at ændre konfigurationsfilen httpd.conf:
(1) Første sæt UseCanonicalName er slukket. Det indikerer, at der med den server Host: header erstatte ServerName værdi indhold at give de miljøvariablen SERVER_NAME.
(2) og tilføjede:
NameVirtualHost xxx.xxx.xxx.xxx hvor xxx.xxx.xxx.xxx er den virtuelle server til at sætte IP-adressen. Her kan du indstille flere virtuelle IP adresser, naturligvis, med det samme DNS server konfiguration. (Bemærk: Denne bruger IP-adresser, kan domænenavne ikke anvendes.)
(3) Derefter skal du for hver virtuel domænenavn ved at tilføje en helhed:
Virtualhost Xxx.xxx.xxx.xxx
.....
/ VirtualHost
og NameVirtualHost xxx.xxx.xxx.xxx at konfigurere den samme IP-adresse. Mellem de to varemærker kan føjes til den konfiguration parametre er:
ServerName tilbage med dig til at øge den virtuelle domæne, som f.eks aaa.domain.com;
DocumentRoot Hvis du kortlægges til stien af maskinen bag stigningen, såsom "/ home / aaa";
omdirigere Hvis du kort til en ekstern URL at tilføje til bagsiden er der to parametre, det første er det virtuelle domæne relative sti, det andet er den eksterne webadresse;
Serveralias efter tiltrædelsen af domæne alias, kan du bruge wildcards såsom *. aaa.domain.com.
De følgende to eksempler:
Eksempel 3, kortlagt den fysiske sti af maskinen:
Virtualhost Xxx.xxx.xxx.xxx
DocumentRoot "/ home / test"
ServerName test.domain.com
Virtualhost
Eksempel 4, kortlægning til en fjern URL:
Virtualhost Xxx.xxx.xxx.xxx
ServerName test1.doamin.com
omdirigere / http://test.domain1.com/welcome.htm
/ VirtualHost
Nogle parametre, såsom logfil placering, time-out indstillinger, buffer-indstillinger, etc., ikke 11 i denne beskrivelse kan referere til Apache-serveren er online hjælpefiler. Httpd.conf fil konfigureres til at genstarte Apache efter baggrunden dæmonen httpd,
[Root @ domæne / root] # / etc / rc.d / init.d / httpd restart
Hver yderligere periode skal forhøjes i et virtuelt domænenavn i VirtualHost ... ... / VirtualHost konfigurationen mellem koden, og først efter du har genstartet httpd ny konfiguration kan træde i kraft.
2, dynamisk konfiguration
Kan findes, hvis du ønsker at konfigurere en lang række virtuelle domæne vil i høj grad øge længden af den konfigurationsfil, så Apache vil begynde at aftage, fylder mere hukommelse, men ikke let at opnå anvende online. Kan vælge at konfigurere dynamisk. Uden forudgående skriftlig denne konfiguration, men gennem udarbejdelse af nogle dynamiske regler til automatisk at generere, eller på ethvert tidspunkt i det særskilte konfigurationsfilen til at læse oplysninger.
Apache har en kraftig udvidelse, modul (modul) egenskaber. Modulet kan udvide funktionaliteten af serveren, og kun bruge den, når du kører på serveren, har dette forhold været placeret i server for at gemme hukommelse, samtidig med at den eksterne CGI processen end hastighed.
Nu bruges en kraftig modul til dynamisk konfigurere en virtuel domæne, det er mod_rewrite. Det er ansvarligt for at lytte fra kunden sendt URL-adressen og udtryk baseret på et sæt af regler, der skal skrives om til webadressen. Dette begreb svarer til URL aliaser, men det går et skridt videre, kan produktionen af webadressen kortlægges til enhver anden vært URL-adresse. Skridt til at ændre konfigurationsfilen httpd.conf:
(1) Det første sæt UseCanonicalName er slukket.
(2) Åbn omskrive motoren RewriteEngine af brugen. Indstil konfigurationsfilen med RewriteMap placering og attributter, med RewriteCond og RewriteRule til at udvikle de tilsvarende regler.
Sager 5, httpd.conf fil, konfiguration af et eksempel:
RewriteEngine om
RewriteMap lille int: tolower
# Definer en særskilt konfigurationsfiler
RewriteMap vhost dbm: / www / conf / vhostdbm
# Brug separate konfigurationsfil til at kortlægge virtuelle domæne
RewriteCond $ (vhost:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/docs / $ 1
RewriteCond% (REQUEST_URI) ^ / cgi-bin /
RewriteCond $ (små:% (SERVER_NAME)) ^(.+)$
RewriteCond $ (vhost:% 1) ^(/.*)$
RewriteRule ^/(.*)$% 1/cgi-bin / $ 1
Her vhostdbm filformat, se "CGI program forberedelse."
[Næste]
Linux styresystemet er meget varmt nu, så mange af mine venner vil vide mere om Linux, realiseringen af det virtuelle domæne. Følgende er baseret på aktuelle populært på RedHat at diskutere.
For det tredje CGI programmering for
At anvende online virtuelle domæne, skal du skrive de relevante CGI-program dynamisk ændre separate konfigurationsfilen (som ligger over vhostdbm filer) og for brugerstyring (herunder bruger applikationer, login, password ændringer, etc.). Dette kan kun beskrives profil uafhængig drift, den anden er hvordan man bruger Perl sproget til at skrive CGI-programmer, henvises til de relevante oplysninger.
vhostdbm fil ved hjælp dbm format til registrering af data, og sammenlignet med en almindelig tekstfil kan fremskynde søgningen for hastighed, men også let at ændre. Mange UNIX-systemer har kaldt dbm (database forvaltning) af standarden biblioteket. Biblioteket vil være nøglen - værdi par lagres på en disk fil, om at levere enkle database ledelsesværktøj, kan du nemt ændre, tilføje eller slette data indhold.
Perl adgang dbm måde: åbne filen gennem en lignende proces med en associativ array med DBM database vil være knyttet til. Opret et nyt element i array straks ændres, når DBM database. Fjern et element samtidig fjerne DBM database værdier. Kan anvendes:
1, at ønsker dbm dbm vifte af databaser og i forbindelse med:
dbmopen (% DatatabelNavn, "dbmfilename", $ mode);
Hvis dbmfilename ikke findes på det nye bibliotek. % DatatabelNavn parameter er Perl's associative array (hvis array allerede har en værdi, så disse værdier vil blive slettet). Den associative array tilsluttet kaldte dbmfilename den DBM database. $ Mode argument er behovet for at skabe et bibliotek, når biblioteket filrettigheder til at styre det antal, dette antal er blevet udpeget som den 8 system, er ofte anvendes, er 0644, ud over de nye tillæg til de vigtigste maskine til læse-/skrivetilladelse for brugeren, maskiner ejere til at har fuld adgang.
2, luk DBM biblioteket:
dbmclose (% DatatabelNavn);
% DatatabelNavn dbm Biblioteket er allerede forbundet med array navn.
Sager 6, vhost åbne vhostdbm eller oprette en dbm bibliotek:
dbmopen (% vhost, "vhostdbm", 0644);
Eksempel 7, nye rekorder eller ændre eksisterende poster (placeret i overførslen form fra html fil over parameter opkaldt vhost, rhost):
$ Vhost ($ FORM (''vhost''}}=$ FORM (''rhost'');
Eksempel 8, slette den eksisterende rekord (sat i overførslen form fra html fil over parameter opkaldt vhost):
slette $ vhost ($ FORM (''vhost''}};
Eksempel 9, tæt vhostdbm:
dbmclose (% vhost);
Bemærk: Ovenstående har påtaget sig over de parametre, passerer gennem kontrol, er der ingen gentagelse af den rekord, da det ellers vil føre til kaos er blevet registreret.