#nginx学习(3)#nginx的虚拟主机配置

nginx的虚拟主机配置

什么是虚拟主机?
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响。

在这里插入图片描述

nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置。
1、基于域名的虚拟主机 (server_name来区分虚拟主机——应用:外部网站)
2、基于ip的虚拟主机, (一台主机绑定多个ip地址)
3、基于端口的虚拟主机 (端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台)

环境初始化需要:
关闭selinux和防火墙

[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

一、 基于端口的虚拟主机

1、在nginx的配置文件下,添加如下内容

#由于这里nginx是yum安装的,所以是在主配置文件nginx.conf下所包含的子配置文件中编辑的
该实验主配置文件nginx.conf下不需要配置,在子配置文件default.conf配置即可

[root@localhost ~]# vim /etc/nginx/conf.d/default.conf    
server {
   listen       80;
   server_name  localhost;
   
   location / {
       root   /usr/share/nginx/html;
       index  www.html index.htm;
   }
}
server {
   listen       90;
   server_name  localhost;

   location / {
       root   /usr/share/nginx/html;
       index  down.html index.htm;
   }
}
server {
   listen       100;
   server_name  localhost;

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

2、进入到网站发布目录下,添加访问内容

[root@localhost ~]# cd /usr/share/nginx/html
[root@localhost html]# echo "www" >> www.html
[root@localhost html]# echo "down" >> down.html
[root@localhost html]# echo "doc" >> doc.html
[root@localhost html]# ls
50x.html  doc.html  down.html  index.html  www.html

3、重新加载配置文件:
[root@localhost html]# nginx -s reload

4、测试访问:
浏览器输入:http://10.11.67.79:80
浏览器输入:http://10.11.67.79:90
浏览器输入:http://10.11.67.79:100

若能成功访问,则配置成功


二、基于ip的虚拟主机
添加三块网卡,这里三块网卡IP分别为:
10.11.67.79
10.11.67.97
10.11.67.98

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b8:21:4c brd ff:ff:ff:ff:ff:ff
    inet 10.11.67.79/24 brd 10.11.67.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::7587:3efd:547:b744/64 scope link 
       valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b8:21:60 brd ff:ff:ff:ff:ff:ff
    inet 10.11.67.97/24 brd 10.11.67.255 scope global dynamic ens36
       valid_lft 593sec preferred_lft 593sec
    inet6 fe80::cacf:217d:24d:4866/64 scope link 
       valid_lft forever preferred_lft forever
4: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b8:21:56 brd ff:ff:ff:ff:ff:ff
    inet 10.11.67.98/24 brd 10.11.67.255 scope global dynamic ens37
       valid_lft 593sec preferred_lft 593sec
    inet6 fe80::dbf0:f59c:e0a:c73b/64 scope link 
       valid_lft forever preferred_lft forever

2、配置通过ip区分的虚拟机

[root@localhost ~]# vim /etc/nginx/conf.d/default.conf    
server {
    listen       10.11.67.79:80;
    server_name  localhost;
    
    location / {
        root   /usr/share/nginx/html;
        index  www.html index.htm;
    }
}
server {
    listen       10.11.67.97:80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  down.html index.htm;
    }
}
server {
    listen       10.11.67.98:80;
    server_name  localhost;

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

3、进入到网站发布目录下,添加访问内容
第一个实验已添加,无需再添加

4、重新加载配置文件
[root@localhost ~]#nginx -s reload

5、测试访问
浏览器输入:http://10.11.67.79
浏览器输入:http://10.11.67.97
浏览器输入:http://10.11.67.98

若能成功访问,则配置成功


三、 基于域名的虚拟主机

三个域名分别为:
www.linux1.com
down.linux1.com
doc.linux1.com

1、配置通过域名区分的虚拟机

[root@localhost ~]# vim /etc/nginx/conf.d/default.conf    
server {
    listen       80;
    server_name www.linux1.com;
    
    location / {
        root   /usr/share/nginx/html;
        index  www.html index.htm;
    }
}
server {
    listen       80;
    server_name  down.linux1.com;

    location / {
        root   /usr/share/nginx/html;
        index  down.html index.htm;
    }
}
server {
    listen       80;
    server_name  doc.linux1.com;

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

2、进入到网站发布目录下,添加访问内容
第一个实验已添加,无需再添加

3、重新加载配置文件

如果 yum 安装的执行
[root@nginx]# nginx -s reload

备注:如果编译安装的执行
[root@nginx]# /usr/local/nginx/sbin/nginx -s reload

4、客户端配置路由映射
windows系统都在 C:\Windows\System32\drivers\etc\hosts 文件中添加:
(linux在/etc/hosts下添加)
10.11.67.79 www.linux1.com down.linux1.com doc.linux1.com

5、 测试访问

浏览器输入:http://www.linux1.com
浏览器输入:http://down.linux1.com
浏览器输入:http://doc.linux1.com

若能成功访问,则配置成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值