Nginx实现虚拟主机配置

来源:互联网 发布:2016年詹姆斯生涯数据 编辑:程序博客网 时间:2024/05/21 22:52
可以实现在同一台服务运行多个网站,而且网站之间互相不干扰。

同一个服务器可能有一个ip,网站需要使用80端口。网站的域名不同。
区分不同的网站有三种方式:

1、ip区分

2、端口区分

3、域名区分

方式一、Ip区分虚拟主机
需要一台服务器绑定多个ip地址。
方法一:
使用标准的网络配置工具(比如ifconfig和route命令)添加lP别名:

eth0网卡再绑定一个ip192.168.101.100

 

/sbin/ifconfig eth0:1 192.168.101.100 broadcast 192.168.101.255 netmask 255.255.255.0 up

/sbin/route add -host 192.168.101.100 dev eth0:1

方法二:
1、将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1
修改其中内容:
DEVICE=eth0:1
IPADDR=192.168.25.100
其他项不用修改
2、重启系统

经过上面的步骤两个不同的ip地址就有了,接下来,使用nginx来配置基于ip的地址虚拟主机

我的基于ip的虚拟主机配置在nginx中的配置:

server {
        listen       80;
        server_name  192.168.136.9;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location / {
            root   /usr/share/nginx/html-9;
            index  index.html index.htm;
        }


        
    }
server {
        listen       80;
        server_name  192.168.136.90;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location / {
            root   /usr/share/nginx/html-90;
            index  index.html index.htm;
        }

        
    }


方式二、基于端口的虚拟主机

我的nginx配置文件如下,同一个主机下的不同端口号,81、82:

server {
        listen       81;
        server_name  192.168.136.90;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location / {
            root   /usr/share/nginx/html-81;
            index  index.html index.htm;
        }


        
    }
server {
        listen       82;
        server_name  192.168.136.90;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location / {
            root   /usr/share/nginx/html-82;
            index  index.html index.htm;
        }


        
    }

方式三、基于域名的虚拟主机

最有用的虚拟主机配置方式。
一个域名只能绑定一个ip地址,一个ip地址可以被多个域名绑定。

可以修改host文件实现域名访问。

修改windowhosts文件:C:\Windows\System32\drivers\etc)  修改前备份原始的hosts文件

最后修改nginx的配置文件,我的配置文件如下:

server {
listen 80;
server_name www.xiongxianze.com;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /usr/share/nginx/html-www;
index index.html index.htm;
}


}
server {
listen 80;
server_name hehe.xiongxianze.com;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /usr/share/nginx/html-hehe;
index index.html index.htm;
}


}

0 0