Nginx虚拟主机配置(三)

  虚拟主机就是使用特殊的软硬件技术,把一台计算机主机分成多台“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Internet服务器功能。在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程序,互不干扰;而各个用户拥有自己的一部分系统资源(IP地址、文件存储空间、内存、CPU时间等)。

  利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

nginx下,一个server标签就是一个虚拟主机。配置虚拟主机三种方法:

  • 基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站
  • 基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台
  • 基于ip的虚拟主机,基本不用

一、基于域名

需要修改下hosts文件,加上IP和域名的对应关系,要不然是访问不到的。

vim /etc/hosts # 如果是在Windows访问,修改C:WindowsSystem32driversetchosts文件
192.168.178.7 www.test.com
192.168.178.7 www.cookie.com

编辑nginx下的nginx.conf文件

server { # 一个虚拟主机
    listen 80; #监听的端口
    server_name www.test.com; # 监听域名
    localtion /{
            root html-ling; #根目录定位,nginx下与conf的同级目录
            index index.html;
    }
}
server {
    listen 80;
    server_name www.cookie.com;
    location /{
        root html-wang;
        index index.html;
    }
}

然后访问相应的域名www.test.com或者www.cookie.com就会出现相应的index界面。

二、基于端口

当输入不同的端口号的时候,进入不同的虚拟主机。配置如下:

server{
    listen  2022;
    server_name 192.168.178.7;
    location /{
       root  html-wang;
       index index.html;
    }

}
server{
    listen  2033;
    server_name 192.168.178.7;
    location /{
       root  html-ling;
       index index.html;
    }

}

在浏览器中输入192.168.178.7:2033或者2022就会进入不同的虚拟主机。 

通过以上任意一种方式你就可以在一台服务器上发布多个网站,网站之间的运行互相独立不受影响。

三、基于IP

给每一个server配置一个IP,直接访问不同的IP就会访问不同的虚拟主机。

server{
    listen  80;
    server_name 192.168.178.7;
    location /{
       root  html-wang;
       index index.html;
    }

}
server{
     listen  80;
     server_name 192.168.178.8;
     location /{
        root  html-ling;
        index index.html;
     }

 }

注意:配置完成后,需要reload配置才会生效。

原文地址:https://www.cnblogs.com/myitnews/p/11532837.html