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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @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
  • 验证服务

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/526557.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【无标题】数据化转型是什么

这里写自定义目录标题 如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入数据化转型…

求递归算法时间复杂性

递推方法 求n&#xff01;的递归算法&#xff1a; 该算法的时间复杂性&#xff1a; 递推过程&#xff1a; 主定理方法 要求&#xff1a;a>1,b>1 求解步骤&#xff1a; f(n)的渐进上界是以n的log以b为底的e次幂 判断关系后一定要满足这三个对应规则 例题&#xff1a;…

虚拟化之内存(Memory)

一 内存的查看方式 free -k/m/h cat /proc/meminfodmesg |grep memory free命令的实质是根据meminfo中的文件来提取信息 二 内存虚拟化 1.概念&#xff1a;由于物理MMU只能通过Host机的物理地址进行寻址&#xff0c;所以实现内存虚拟化&#xff0c;关键是需要将Guest机的…

【C语言】深入理解指针(进阶篇)

一、数组名的理解 数组名就是地址&#xff0c;而且是数组首元素的地址。 任务&#xff1a;运行以下代码&#xff0c;看数组名是否是地址。 #include <stdio.h> int main() {int arr[] { 1,2,3,4,5,6,7,8,9,0 };printf("&arr[0] %p\n", &arr[0]);pri…

STM32驱动W5500作为客户端进行通讯

STM32驱动W5500作为客户端进行通讯 模块简介引脚说明接线代码部分代码测试是否通讯成功 模块简介 SR-ES1内嵌Wiznet的W5500芯片&#xff0c;使用硬件逻辑门电路实现TCP/IP协议栈的传输层及网络层&#xff08;如&#xff1a;TCP&#xff0c;UDP&#xff0c;ICMP&#xff0c;IPv…

C语言————字符函数与字符串函数

在编程的过程中&#xff0c;我们经常要处理字符和字符串&#xff0c;为了⽅便操作字符和字符串&#xff0c;C语⾔标准库中提供了⼀系列库函数&#xff0c;如追加&#xff0c;拷贝&#xff0c;替换等等接下来我们就学习⼀下这些函数&#xff0c;并且自实现。 gets 这个指令大家…

扩展CArray类,增加Contain函数

CArray不包含查找类的函数&#xff0c;使用不便。考虑扩展CArray类&#xff0c;增加Contain函数&#xff0c;通过回调函数暴露数组元素的比较方法&#xff0c;由外部定义。该方法相对重载数组元素的“”符号更加灵活&#xff0c;可以根据需要配置不同的回调函数进行比较 //类型…

分布式架构之Nacos配置中心

一、配置中心的意义 1、微服务中配置文件的问题 配置文件的问题&#xff1a; 配置文件的数量会随着服务的增加持续递增单个配置文件无法区分多个运行环境配置文件内容无法动态更新&#xff0c;需要重启服务 引入配置文件&#xff1a;刚才架构就会成为这样。是由配置中心统一…

惬意上手MySQL

大家好&#xff0c;我又来写博客了&#xff0c;今天给大家介绍一下MySQL,如果你只想让MySQL作为自己的辅助开发工具&#xff0c;那这一篇文章就够了&#xff0c;如果想作为一门语言来学习&#xff0c;那你可以看此文章了解一些基础。 MySQL介绍 数据库可分为关系型数据库和非关…

【NR 定位】3GPP NR Positioning 5G定位标准解读(七)- GNSS定位方法

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…

分布式解决方案

目录 1. 分布式ID1-1. 传统方案1-2. 分布式ID特点1-3. 实现方案1-4. 开源组件 1. 分布式ID 1-1. 传统方案 时间戳UUID 1-2. 分布式ID特点 全局唯一高并发高可用 1-3. 实现方案 方案总结&#xff1a; 号段模式 有两台服务器&#xff0c;给第一台服务器分配0-100&#xff0…

【重要公告】BSV区块链上线TypeScript SDK,未来将支持更多开发语言

​​发表时间&#xff1a;2024年2月21日 BSV区块链协会宣布上线JavaScript和TypeScript SDK&#xff08;即“标准开发工具包”&#xff09;。TypeScript SDK旨在为开发者提供新版统一核心代码库&#xff0c;以便利开发者在BSV区块链上开发能够任意扩容的应用程序。新上线的SDK替…