Linux系统架构----nginx上构建虚拟主机

Linux系统架构----nginx上构建虚拟主机

一、构建虚拟主机概述

  • 利用虚拟主机,不用为每个运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,虚拟主机提供了在同一台服务器、同一组Nginx进程上运行的多个网站的功能
  • 与Apache相同,Nginx也可以配置多种类型的虚拟主机,分别是基于域名、基于端口、基于IP地址的虚拟主机
  • 使用Nginx搭建虚拟主机服务器时,每个虚拟web站点拥有独立的“server {}”配置段,各自监听的IP地址、端口号段单独指定

二、基于域名的虚拟主机

  • 安装DNS服务
#配置DNS服务器
[root@nginx-server ~]# vim /etc/named.conf  ##修改监听地址
#       listen-on port 53 { any; };
#       listen-on-v6 port 53 { any; };
[root@nginx-server ~]# vim /etc/named.rfc1912.zones   //##修改区域配置文件 
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};
zone "accp.com" IN {
        type master;
        file "accp.com.zone";
        allow-update { none; };
};
##如果没有加-p选项,需要修改所有者或权限
[root@nginx-server ~]# cp -p /var/named/named.localhost /var/named/kgc.com.zone  
[root@nginx-server ~]# vim /var/named/kgc.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       10.1.1.172
kgc IN  CNAME   www.kgc.com
[root@nginx-server ~]# vim /var/named/accp.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       10.1.1.172
kgc IN  CNAME   www.kgc.com
##检查配置文件格式是否正确
[root@nginx-server ~]# named-checkconf
[root@nginx-server ~]# named-checkzone kgc.com /var/named/kgc.com.zone 
zone kgc.com/IN: loaded serial 0
OK
  • 测试DNS服务
[root@nginx-server ~]# nslookup www.kgc.com
Server:		10.1.1.172
Address:	10.1.1.172#53
Name:	www.kgc.com
Address: 10.1.1.172
[root@nginx-server ~]# nslookup www.accp.com
Server:		10.1.1.172
Address:	10.1.1.172#53
Name:	www.accp.com
Address: 10.1.1.172
  • 基于域名构建虚拟主机
##配置nginx的主配置文件
[root@nginx-server ~]# vim /etc/nginx/nginx.conf
server {
                server_name www.kgc.com;
                location / {
                        root /var/www/kgc;
                        index index.html;
        }
}
server {
                server_name www.accp.com;
                location / {
                        root /var/www/accp;
                        index index.html;
        }
}
##创建主页面文件
[root@nginx-server ~]# cd /var
[root@nginx-server var]# mkdir -p www/kgc www/accp
[root@nginx-server var]# cd /var/www/
[root@nginx-server www]# echo "<h1>KGC<h1>" > kgc/index.html
[root@nginx-server www]# echo "<h1>ACCP<h1>" > accp/index.html
##重启服务
[root@nginx-server www]# systemctl restart nginx.service 

  • 测试服务结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、基于端口的虚拟主机

  • 基于端口的虚拟主机和基于域名配置基本一样,区别在于,Nginx的主配置文件中,修改server{}参数
##基于域名的基础上在主配置文件上加入下列配置
[root@nginx-server ~]# vim /etc/nginx/nginx.conf
server {
                listen 10.1.1.172:80;
                server_name 10.1.1.172:80;
                location / {
                        root /var/www/kgc;
                        index index.html;
        }
}
server {
                listen 10.1.1.172:8080;
                server_name 10.1.1.172:8080;
                location / {
                        root /var/www/accp;
                        index index.html;
        }
}

  • 重启服务,查看端口
[root@nginx-server ~]# systemctl restart nginx.service
[root@nginx-server ~]# netstat -natp |grep nginx
tcp        0      0 10.1.1.172:8080         0.0.0.0:*               LISTEN      27006/nginx: master 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      27006/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      27006/nginx: master 

  • 验证服务

-1709977708121)

在这里插入图片描述

在这里插入图片描述

四、基于端口的虚拟主机

  • #基于域名的站点配置基础上在主配置文件上加入下列配置
[root@nginx-server ~]# vim /etc/nginx/nginx.conf
server {
                listen 10.1.1.172:80;
                server_name 10.1.1.172:80;
                location / {
                        root /var/www/kgc;
                        index index.html;
        }
}

  • 重启服务
[root@nginx-server ~]# systemctl restart nginx.service
  • 验证服务

在这里插入图片描述

相关推荐

  1. Nginx虚拟主机配置

    2024-03-10 09:16:03       57 阅读
  2. nginx虚拟主机配置项

    2024-03-10 09:16:03       21 阅读
  3. 部署nginx虚拟主机及SSL虚拟主机

    2024-03-10 09:16:03       55 阅读
  4. Linux系统架构----Nginx的服务优化

    2024-03-10 09:16:03       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 09:16:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 09:16:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 09:16:03       82 阅读
  4. Python语言-面向对象

    2024-03-10 09:16:03       91 阅读

热门阅读

  1. 「jQuery系列」jQuery简介及起步

    2024-03-10 09:16:03       46 阅读
  2. Linux病毒扫描工具

    2024-03-10 09:16:03       47 阅读
  3. 深度学习-2.4建模过程总结和第一个最优化函数

    2024-03-10 09:16:03       35 阅读
  4. 为什么选择Go语言编写网络应用程序

    2024-03-10 09:16:03       43 阅读
  5. Ubuntu18.04添加内核模块(字符设备)

    2024-03-10 09:16:03       46 阅读
  6. Rust 的 std::error::Error

    2024-03-10 09:16:03       40 阅读