电商六十四、Nginx虚拟机端口设置和域名配置来存放多个站点。

一台Nginx虚拟机可以放多个站点,方法有两种:

一、端口绑定

二、域名绑定

①端口绑定来实现一台Nginx虚拟机存放多个站点。

准备两套测试用数据:

 

 cd ~

然后Alt+P

put -r d:/myhtml/

传文件夹要加参数-r

cd ~

ll查看有myhtml文件夹。

 cp -r myhtml/* /usr/local/nginx/
因为传的是myhtml文件夹里面的文件夹cart和文件夹search,所以要加参数-r,而且是复制到nginx,不是nginx的html目录下。

然后cd,ll查看检查是否文件夹放置正确。

通过端口区分,更改配置文件nginx.conf

分析部分代码:

server {
        listen       81;
        server_name  localhost;


        location / {
            root   cart;        #找root目录即/usr/local/nginx目录下的cart文件夹里面的cart.html文件
            index  cart.html;
        }

      
      
    }


     server {
        listen       82;
        server_name  localhost;


        location / {
            root   search;    # #找root目录即/usr/local/nginx目录下的search文件夹里面的search.html文件
            index  search.html;
        }

      
      
    }

 

重新加载一下nginx。

cd ~

cd /usr/local/nginx

cd sbin

./nginx -s reload 

在主机浏览器进行端口测试。

 

http://192.168.10.156:81

htttp://192.168.10.156:82

分别在浏览器IP地址框输入以上内容进行测试。

②域名绑定来实现一台Nginx虚拟机存放多个站点。

端口绑定可以实现一台Nginx虚拟机存放多个站点,但实际上来说,通过端口访问,每次需要输入端口号,用户体验就极差了。

80端口只有一个,想让所有的站点都用80端口,这个时候我们就只能通过域名来实现,同一台节点的不同站点共享用相同的端口如默认的80端口,我们用设置域名来实现这个功能。

域名实际访问的还是IP地址。因为从域名到IP,做了一个DNS解析。

域名是分级别的:(三w点是可以省略的)

(1)顶级域名:如:baidu.com

(2)二级域名:如:map.baidu.com

         一个顶级域名,最多可以带二十个二级域名,二级域名也是需要DNS解析成对应的IP地址的。

         不同的二级域名可以解析到不同的服务器上。

(3)三级域名:如:item.map.baidu.com

如何使用域名:

首先需要购买域名。

域名是全球唯一的,你申请了这个域名,别人就不能申请了。别人申请了,你也申请不了。域名是全球唯一的。

然后需要购买服务器,或者租借服务器,或者托管服务器。

租借的服务器就不是自己的。可以付租金,但是服务器的产权不归你。

还可以自己买服务器,按照自己的配置买,这个服务器是自己的。如果有条件,可以放在自己的机房里。如果没有条件,没有合适的机房,就需要托管,可以放在电信(移动、联通)的机房进行托管。因为电信、移动、联通提供了24小时维护。而且一般不会断电。而且可以租它们的光纤带宽。

这时服务器有了,再就是需要一个外网的IP地址和购买的域名。

我们自己用机器上网的时候有外网IP,但那时会变的外网IP。这里所说的外网IP是一个固定的外网IP。只能给固定的购买它的人用,别人用不了了。

IP只有固定了,才能DNS解析到这个地址,如果总是变,则解析不了。

那在测试环境下,如何方便用域名测试呢?购买域名太贵。而且刚开始用域名,还需要解析域名,快的几分钟,慢的十几个小时,二十四小时生效。而且需要买固定的IP地址。所以:

用到一个软件:

这个软件只能在本机生效。申请的域名,只能在本机用。申请一个百度的域名都行。但,只能在本机使用。换成别的机器访问就不生效了。

这个软件实际上修改的是

 

C:\Windows\System32\drivers\etc目录下的hosts文件的内容。

解析域名第一步是找这个文件去解析,没有再在网络上去解析。

所以如果在这个文件将域名www.baidu.com 的对应的IP该动,则在浏览器,访问不到真正的百度地址了。

双击软件

多个域名可以绑定在一个IP地址上。但一个域名不能绑定多个IP地址。因为域名通过DNS解析,需要解析到一个固定唯一的IP上。才能知道域名的去向。也就是一个IP地址可以绑定多个域名。

这个时候马上生效,不像真实的域名解析,需要等待,快的几分钟,慢的十几个小时甚至更长时间,才能生效。

然后更改nginx的配置文件。nginx.conf

  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 {
            root   html;
        }

      
    }


     server {
        listen       80;
        server_name  cart.pinyougou.com;


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

      
      
    }


     server {
        listen       80;
        server_name  search.pinyougou.com;


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

      
      
    }

 

重载一下nginx

cd /usr/local/nginx

在nginx的sbin目录下:

./nginx -s reload

 

 

如果输入:IP:192.168.10.156

对应多个域名,怎么选呢?

选以下这个配置的信息:是nginx的欢迎页面。

  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 {
            root   html;
        }

      
    }

如:www.pinyougou.com没有在配置文件的   server_name里面,则为默认的值,为nginx的欢迎页面。

  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 {
            root   html;
        }

      
    }

 

 

,如果写了一个配置,如:

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


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

      
      
    }

则也为cart.html的内容了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值