Nginx虚拟主机的配置

虚拟主机介绍

虚拟主机使用的是特殊的软硬件技术,它把一台服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。利用虚拟主机,不必为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

一、基于域名的虚拟主机

场景描述:公司业务业务扩展需求,将配置一下两个域名到已有的web服务器上,实现两个站点的独立访问。
环境:CentOS Linux release 7.4.1708 (Core)
域名1:www.xingyun.com
域名2:www.anttech.com
要求:
1.网站数据分别存放在/data/xingyun/basic/和/data/anttech/basic下。
2.两网站的配置文件单独存放,日志文件分别存放在/data/xingyun/log及/data/anttech/log下。

基于域名的虚拟主机,意思就是通过不同的域名区分不同的虚拟主机,基于域名的虚拟主机是企业应用最广的虚拟主机类型,几乎所有对外提供服务的网站使用的都是基于域名的主机,例如www.xingyun.com www.anttech.com等

1.创建域名对应的站点目录文件

[root@localhost nginx]# mkdir -p /data/xingyun/basic
[root@localhost nginx]# mkdir -p /data/anttech/basic
[root@localhost nginx]# chown -R nginx:nginx /data/xingyun/basic/
[root@localhost nginx]# chown -R nginx:nginx /data/anttech/basic/
[root@localhost conf.d]# mkdir -p  /data/xingyun/log
[root@localhost conf.d]# mkdir -p  /data/anttech/log
[root@localhost conf.d]# chown -R nginx:nginx /data/xingyun/log/
[root@localhost conf.d]# chown -R nginx:nginx /data/anttech/log/

2.配置防火墙

[root@localhost conf.d]# systemctl start firewalld
[root@localhost conf.d]# setenforce 0
setenforce: SELinux is disabled
[root@localhost conf.d]# firewall-cmd --permanent --add-service=http
success
[root@localhost conf.d]# firewall-cmd --permanent --add-service=https
success
[root@localhost conf.d]# firewall-cmd --reload
success
[root@localhost conf.d]# firewall-cmd --permanent --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client http https
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@localhost conf.d]#

在这里插入图片描述
3.修改配置

[root@localhost conf.d]# cat xingyun.conf
server {
        listen       192.168.91.141:80;
        server_name  www.xingyun.com;
        access_log /data/xingyun/log/access.log combined;
        location / {
            root   /data/xingyun/basic;
            index  index.html index.htm;
        }
}

[root@localhost conf.d]#
[root@localhost conf.d]# more anttech.conf
server {
        listen       192.168.91.141:80;
        server_name  www.anttech.com;
        access_log /data/anttech/log/access.log combined;
        location / {
            root   /data/anttech/basic;
            index  index.html index.htm;
        }
}

[root@localhost conf.d]#

4.域名解析 C:\Windows\System32\drivers\etc

192.168.91.141  www.xingyun.com
192.168.91.141	www.anttech.com 

5.结果测试
在这里插入图片描述
在这里插入图片描述

二、基于端口的虚拟主机

场景描述:公司业务业务测试需求,需要将ww.xingyun.com的域名通过端口转发到独立站点空间上。
环境:CentOS Linux release 7.4.1708 (Core)
域名1:www.xingyun.com:8080
域名2:www.xingyun.com:6969
要求:
1.网站数据分别存放在/data/xingyun1/basic/和/data/xingyun2/basic下。
2.两网站的配置文件单独存放,日志文件分别放在/data/xingyun1/log及/data/xingyun2/log下。

同理,所谓基于端口的虚拟主机,意思就是通过不同的端口来区分不同的虚拟主机,此类虚拟主机对应的企业应用主要为公司内部的网站,例如:一些不希望直接对外提供用户访问的网站后台等,访问基于端口的虚拟主机,地址里要带有端口号,例如http://www.xingyun.com:8080 http://www.xingyun.com:6969等

1.创建域名对应的站点目录文件

[root@localhost conf.d]# mkdir -p /data/xingyun1/basic
[root@localhost conf.d]# mkdir -p /data/xingyun2/basic
[root@localhost conf.d]# chown -R nginx:nginx /data/xingyun1/basic/
[root@localhost conf.d]# chown -R nginx:nginx /data/xingyun2/basic/
[root@localhost conf.d]# mkdir -p  /data/xingyun1/log
[root@localhost conf.d]# mkdir -p  /data/xingyun2/log
[root@localhost conf.d]# chown -R nginx:nginx /data/xingyun1/log/
[root@localhost conf.d]# chown -R nginx:nginx /data/xingyun2/log/
[root@localhost conf.d]#

2.配置防火墙

[root@localhost data]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@localhost data]# firewall-cmd --zone=public --query-port=8080/tcp --permanent
yes
[root@localhost data]# firewall-cmd --zone=public --add-port=6969/tcp --permanent
success
[root@localhost data]# firewall-cmd --zone=public --query-port=6969/tcp --permanent
yes
[root@localhost data]# firewall-cmd --reload
success
[root@localhost data]#

3.修改配置

[root@localhost conf.d]# cat xingyun.conf
server {
        listen       192.168.91.141:6969;
        server_name  www.xingyun.com;
        access_log /data/xingyun1/log/access.log combined;
        location / {
            root   /data/xingyun1/basic;
            index  index.html index.htm;
        }
}
[root@localhost conf.d]#
[root@localhost conf.d]# more anttech.conf
server {
        listen       192.168.91.141:8080;
          server_name  www.xingyun.com;
        access_log /data/xingyun2/log/access.log combined;
        location / {
            root   /data/xingyun2/basic;
            index  index.html index.htm;
        }
}

[root@localhost conf.d]#

4.域名解析

192.168.91.141	www.xingyun.com
192.168.91.141	www.anttech.com 

5.结果测试

[root@localhost conf.d]# echo "This is a test from 6969..." >> /data/xingyun1/basic/index.html 
[root@localhost conf.d]# echo "This is a test from 8080..." >> /data/xingyun2/basic/index.html

在这里插入图片描述
在这里插入图片描述

三、基于IP的虚拟主机

场景描述:公司业务业务测试需求,需要使用内网IP转发请求到到web服务器上,并访问独立站点空间。
环境:CentOS Linux release 7.4.1708 (Core)
IP1:10.0.0.1
IP2:10.0.0.2
要求:
1.网站数据分别存放在/data/xingyun1/basic/和/data/xingyun2/basic下。
2.两网站的配置文件单独存放,日志文件分别放在/data/xingyun1/log及/data/anttech2/log下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值