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
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

zone "sxkeji.com.cn" IN {
type master;
file "sxkeji.com.cn.zone";
};
[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
$TTL 1D
@	IN SOA	sxkeji.com.cn rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	@	
@	A 	192.168.10.199	
www	A   	192.168.10.199	
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目录需要自己建立,主页目录也是需要自己建立的
server {
listen 80;
server_name www.sxkeji.com.cn;
access_log logs/sxkeji.com.log;

location / {
index index.html;
root /usr/local/nginx/html/sxkeji.com;
}
}
[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
[root@server ~]#

########如此便可以收工了,下次继续基于端口的虚拟主机配置########


posted @ 2012-06-22 15:06  枯木-Linux  阅读(297)  评论(0编辑  收藏  举报