Nginx上配置虚拟主机的实例参考

发布时间:2020-08-27编辑:脚本学堂
本文介绍下,在nginx服务器上配置虚拟主机的方法,分享一个简单的例子,供初学的朋友参考下。

本节内容:
nginx虚拟主机配置。

本节配置基于IP地址的虚拟主机,在一台主机上有多个IP的情况。
不同的IP对应不同的网站内容,客户端可以通过IP访问不同的网页内容。

1,为服务器添加多个IP地址:
 

复制代码 代码示例:
ifconfig eth0:1 192.168.2.5 netmask 255.255.255.0 up
ifconfig eth0:2 192.168.2.6 netmask 255.255.255.0 up

2,在/etc/nginx/conf.d目录下新建一个iphost.conf,内容为:
 

复制代码 代码示例:

server
{
    listen       192.168.2.5:80;
    server_name 192.168.2.5;
    access_log  /var/log/nginx/iphost1.access.log  main;
    error_log  /var/log/nginx/iphost1.error.log warn;
    location / {
            root   /var/www/nginx/site1;
            index  index.html index.htm;
    }
}

server
{
    listen       192.168.2.6:80;
    server_name 192.168.2.6;
    access_log  /var/log/nginx/iphost2.access.log  main;
    error_log  /var/log/nginx/iphost2.error.log warn;
    location / {
            root   /var/www/nginx/site2;
            index  index.html index.htm;
    }
}

3,在/etc/nginx/conf.d目录下新建一个vhost.conf。
基于主机头的虚拟主机配置,Web服务器上只有一个IP,
服务器根据客户端请求的host判断请求的是哪一个web站点。
 

复制代码 代码示例:

server
{
    listen       80;
    server_name tec.test.com;
    access_log  /var/log/nginx/iphost1.access.log  main;
    error_log  /var/log/nginx/iphost1.error.log warn;
    location / {
            root   /var/www/nginx/site1;
            index  index.html index.htm;
    }
}

server
{
    listen       80;
    server_name mkt.test.com;
    access_log  /var/log/nginx/iphost2.access.log  main;
    error_log  /var/log/nginx/iphost2.error.log warn;
    location / {
            root   /var/www/nginx/site2;
            index  index.html index.htm;
    }
}
 

如果没有配置DNS,可以修改客服端host文件来测试。
通过tec.test.com访问时,为//var/www/nginx/site1的内容。
通过mkt.test.com访问时,为/var/www/nginx/site2的内容。

如此,一个简单的nginx虚拟主机就配置完成了。