初识Nginx配置虚拟主机

Nginx配置虚拟主机

在nginx 安装目录下面找到 /nginx/conf/nginx.conf 文件修改它

1. 通过端口区分不同的虚拟主机

1.1 配置说明

 # 一个server节点 就是一个虚拟主机
 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html; #这个html是nginx安装目录下的html目录
            index  index.html index.htm;
        }
    }

1.2 添加配置虚拟主机

  • (1) 配置代码示例
    server {
        listen       801;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  • (2) 注意事项

修改完成需要每次配置文件修改之后都需要重新加载配置文件 nginx -s reload

2. 通过域名区分不同的虚拟主机

2.1 名词解释

2.1.1 什么是域名呢?

域名就是网站例如下面地址

  • 百度 www.baidu.com
  • 淘宝 www.taobao.com
  • 京东商城 www.jd.com

2.1.2 一级域名/*域名? 如下所示类型

  • 百度的*域名 baidu.com
  • 京东的*域名 jd.com

一级域名又称为*域名,大家需要注意的是,www.lisp.com这种形式的域名并不是一级域名,它只是一个二级域名,也就是说www只是一个主机名
真正的一级域名是由一个合法的字符串+域名后缀组成,所以,lisp.com这种形式的域名才是一级域名,lisp是域名主体,.com是域名后缀,可以是.net也是域名后缀

2.1.3 二级域名

所谓的二级域名实际就是一个一级域名下面的主机名,顾名思义,它是在一级域名前面加上一个字符串,比如asdx.lisp.com,它可以拥有与根*域名同样的功能,并且通过设置,可以拥有和跟*域名完全一样的功能 通常是如下所示的样子

  • 百度图片的二级域名 image.baidu.com
  • 京东商品服务的二级域名 item.jd.com

2.1.4 三级域名

同二级域名, 三级域名依附于二级域名之下的

  • 给男装图片单独分类的三级域名 nan.image.baidu.com

2.1.5 通过域名访问网站流程说明

初识Nginx配置虚拟主机

(图片来自于网络)

  • (1) DNS服务器:

把域名解析为ip地址。保存的就是域名和ip的映射关系,可以简单的理解为一个MAP<KEY,VALUE>的形式,一个域名对应一个ip地址,一个ip地址可以被多个域名绑定.

2.2 配置域名

  • (1) 修改nginx 配置文件 如下:
    # 这个等下可以访问
    server {
        listen       80;
        server_name  www.taobao.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # 我们的需要代理到其他服务器,所以需要用到proxy_pass参数
	        proxy_pass   http://www.baidu.com;
        }
    }
    # 这个不可以访问
    server {
        listen       80;
        server_name  www.baidu.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html-baidu;
            index  index.html index.htm;
        }
    }

  • (2) 我们可以通过 SwitchHost 修改本地host,修改后,需要切换到修改的host哦
    初识Nginx配置虚拟主机

  • (3) 验证下 在浏览器输入地址 http://www.taobao.com
    初识Nginx配置虚拟主机

  • (4) 验证下 在浏览器输入地址 http://www.baidu.com
    初识Nginx配置虚拟主机

好了! 到此Nginx配置虚拟主机结束 …