nginx-4 虚拟主机

虚拟主机

虚拟主机的概念

虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录

配置

server{
        listen 80;        
        server_name www.1.com;            #域名
        index 1.html;                #设置默认页面就是/data/wwwroot/www.1.com目录下的1.html文件,如果不设置index属性那默认访问/data/wwwroot/www.1.com目录下的index.html文件
        root /data/wwwroot/www.1.com;    #默认网页所在
}

泛解析: server_name的值可以用*,比如*.1.com,此时访问就可以使用a.1.com进行访问

server{
        listen 80;        
        server_name *.1.com;            #域名
        index 1.html;                #设置默认页面就是/data/wwwroot/www.1.com目录下的1.html文件,如果不设置index属性那默认访问/data/wwwroot/www.1.com目录下的index.html文件
        root /data/wwwroot/www.1.com;    #默认网页所在
}

多域名:server_name的值可以有很多个,如www.1.com 

server{
        listen 80;        
        server_name www.1.com www.2.com;            #域名
        index 1.html;                #设置默认页面就是/data/wwwroot/www.1.com目录下的1.html文件,如果不设置index属性那默认访问/data/wwwroot/www.1.com目录下的index.html文件
        root /data/wwwroot/www.1.com;    #默认网页所在
}

如果一个域名配置在同一个端口上,这时nginx只会用一个,后面的将会被忽略,但是如果同样的域名配置在不同的端口上就可以生效

 

访问

测试:curl -x127.0.0.1:80 www.1.com

外部访问,首先需要配置虚拟域名(虚拟机与外部都要配置)

nginx如果访问不到页面是报的403错误。

 

默认虚拟主机

 

如果你只定义了www.1.com主机,但是别人又访问了www.2.com,此时会访问配置的第一个虚拟主机,这个主句称为默认虚拟主机

也可以指定

server{
        listen 80 default_server;#这里default_server就是设置为默认虚拟主机
        server_name www.2.com;
        root /data/wwwroot/www.2.com;
}

同时也可以拒绝默认虚拟主机,当用户访问一个不存在的地址时,报403

 

server{
        listen 80 default_server;#这里default_server就是设置为默认虚拟主机
        deny all;#禁止默认虚拟主机
}

问题

如果访问出现403问题,又不是配置出问题,则需要关闭或修改selinux(centos7是默认开启的),这是一个安全管理的东西,为了减少学习成本,可以将其关闭

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值