Nginx配置之基于域名的虚拟主机

1、配置好DNS解析

[root@server ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.2 (Santiago)
[root@server ~]# uname -r
2.6.32-220.el6.i686
[root@server ~]# yum install bind* -y
[root@server ~]# vim /etc/named.conf
[root@server ~]# cat /etc/named.conf
[plain]
  1. options {  
  2. listen-on port 53 { any; };  
  3. listen-on-v6 port 53 { any; };  
  4. directory "/var/named";  
  5. dump-file "/var/named/data/cache_dump.db";  
  6. statistics-file "/var/named/data/named_stats.txt";  
  7. memstatistics-file "/var/named/data/named_mem_stats.txt";  
  8. allow-query { any; };  
  9. recursion yes;  
  10.   
  11. dnssec-enable yes;  
  12. dnssec-validation yes;  
  13. dnssec-lookaside auto;  
  14.   
  15. /* Path to ISC DLV key */  
  16. bindkeys-file "/etc/named.iscdlv.key";  
  17. };  
  18.   
  19. logging {  
  20. channel default_debug {  
  21. file "data/named.run";  
  22. severity dynamic;  
  23. };  
  24. };  
  25.   
  26. zone "." IN {  
  27. type hint;  
  28. file "named.ca";  
  29. };  
  30.   
  31. zone "sxkeji.com.cn" IN {  
  32. type master;  
  33. file "sxkeji.com.cn.zone";  
  34. };  
[root@server ~]# cp /var/named/named.localhost /var/named/sxkeji.com.cn.zone
[root@server ~]# vim /var/named/sxkeji.com.cn.zone
[root@server ~]# cat /var/named/sxkeji.com.cn.zone
[plain]
  1. $TTL 1D  
  2. @   IN SOA  sxkeji.com.cn rname.invalid. (  
  3.                     0   ; serial  
  4.                     1D  ; refresh  
  5.                     1H  ; retry  
  6.                     1W  ; expire  
  7.                     3H )    ; minimum  
  8.     NS  @     
  9. @   A   192.168.10.199    
  10. www A       192.168.10.199    
  11. mail    A       192.168.10.199    
[root@server ~]# service named restart

测试DNS解析是否成功
[root@server ~]# host www.sxkeji.com.cn
www.sxkeji.com.cn has address 192.168.10.199
[root@server ~]# host mail.sxkeji.com.cn
mail.sxkeji.com.cn has address 192.168.10.199
[root@server ~]#

2、配置Nginx虚拟主机
[root@server ~]# vim /usr/local/nginx/conf/nginx.conf
[root@server ~]# grep -vE "#|^$" /usr/local/nginx/conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    
    }
    server {
        listen       80;
        server_name  mail.sxkeji.com.cn;
        location / {
            root   /usr/local/nginx/html/mail.sxkeji.com;
            index  index.html index.htm;
        }
    }

    include /usr/local/nginx/conf/vhosts/sxkeji.conf;

#include这里是模块化的,把虚拟主机独立成一个配置文件

#上面斜体server部分是在主配置文件中直接实现虚拟主机
}
[root@server ~]# cat /usr/local/nginx/conf/vhosts/sxkeji.conf #vhosts目录需要自己建立,主页目录也是需要自己建立的
[plain]
  1. server {  
  2. listen 80;  
  3. server_name www.sxkeji.com.cn;  
  4. access_log logs/sxkeji.com.log;  
  5.   
  6. location / {  
  7. index index.html;  
  8. root /usr/local/nginx/html/sxkeji.com;  
  9. }  
  10. }  
[root@server ~]#

3、测试是否成功
[root@server ~]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid` #重启nginx
[root@server ~]# vim /usr/local/nginx/html/sxkeji.com/index.html
[root@server ~]# vim /usr/local/nginx/html/mail.sxkeji.com/index.html
[root@server ~]# cat /usr/local/nginx/html/mail.sxkeji.com/index.html
mail.sxkeji.com.cn
[root@server ~]# cat /usr/local/nginx/html/sxkeji.com/index.html
www.sxkeji.com.cn
[root@server ~]# elinks --dump 127.0.0.1
hello!
[root@server ~]# elinks --dump mail.sxkeji.com.cn
mail.sxkeji.com.cn
[root@server ~]# elinks --dump www.sxkeji.com.cn

www.sxkeji.com.cn

PS:Kumu的博文吧,nice!转给我做做实验哈,呵呵!

      reference

上一篇:关于多域名EXCHANGE如何设置PTR的问题


下一篇:Tomcat配置主机别名(Alias)