天天看点

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]

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 {

    }

        server_name  mail.sxkeji.com.cn;

            root   /usr/local/nginx/html/mail.sxkeji.com;

    }

    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;  

}  

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

[root@server ~]# elinks --dump www.sxkeji.com.cn

上一篇: squid限速

继续阅读