当前位置: 首页 > news >正文

【笔记】在虚拟机中通过apache2给一个主机上配置多个web服务器

(配置出来的web服务器又叫虚拟主机……)

下载apache2

sudo apt update

sudo apt install apache2

(一)ip相同 web端口不同的web服务器

进入 /var/www/html

创建站点一和站点二的目录文件(目录文件名自定义哈)

sudo mkdir web1 web2

并进入其中分别创建一个index.html

ps:/var/www/html是Apache服务器默认的网站根目录

修改httpd的主配置文件 /etc/apahce2/ports.conf

监听这两个端口(自定义) 分别对应上面的web1 和web2站点

 ps:

ports.conf文件中增加监听6060和7070端口

使得Apache服务器在这两个端口接受HTTP请求

进入/etc/apache2/sites-available 创建配置文件web.conf(此配置文件名自定义)

此配置定义web站点的配置参数

 ps:

/etc/apache2/sites-available中每个配置文件代表一个web服务器的配置

这样可以通过删除或创建直接启动或禁用web服务器 而不需要去编辑apache的主配置文件

创建一个软连接在/etc/apache2/sites-enabled目录

 sudo ln -s /etc/apache2/sites-available/web.conf /etc/apache2/sites-enabled/web.conf

ps:

为web.conf配置文件创建一个同名的软链接

这样Apache服务器会在启动时 自动加载并应用该配置文件中的设置

创建软连接输入全路径

ln -s 文件原本路径 被创建软连接路径

重启apache2服务

sudo systemctl restart apache2
 

在主机/虚拟机上输入

虚拟机地址:设定的web端口号

即可得到

成功

(二)配置端口相同,IP不同的web服务器

1.依旧是来到/var/www/html中新建目录

这次新建的目录为web_ip1 和web_ip2(自定义即可)

并且在目录中新建一个index.html 加入以下内容

2.来到/etc/apache2/sites-available配置文件新建配置文件web_ip.conf(配置文件自定义即可)

这是用来定义同端口 ip不同的web服务器的配置

这里的ip用的是4.2中的ip(不知道就往下看)图片中ip不应对应4.2的ip

3.同样的在/etc/apache2/site-enabled目录中新建上面那个软连接 为了能在apache服务器启动时配置就能生效

sudo ln -s /etc/apache2/sites-available/web_ip.conf /etc/apache2/sites-enabled/web_ip.conf

4.配置本虚拟机的ip地址

4.1首先查看本虚拟机的网络名字

nmcli connection show
 

4.2配置两个ip到本虚拟机

sudo nmcli connection modify netplan-ens33 ipv4.addresses '192.168.81.37/24'

sudo nmcli connection modify netplan-ens33 +ipv4.addresses '192.168.81.38/24'

这两句分别执行 

 nmcli connection show netplan-ens33 | grep ipv4.addresses
来查看是否添加两个ip到本虚拟机中

成功即可

5.重启apache2

sudo systemctl restart apache2

6.在主机/虚拟机中输入

http://192.168.81.37:80

http://192.168.81.38:80 失败了 我也不知道为啥

(三)创建配置基于域名的web服务器

1.在/var/www/html中创建两个目录 web_dns1 和web_dns2

并且分别在下面创建一个index.html 写入专门的网页代码   同(二)1.

2.在/etc/apache2/sites-availabl添加web_dns.conf的配置文件(文件名自定义)

内容如下 ip地址是你当前虚拟机所使用的就好

3.创建软连接 将此配置添加到apache2启动器自动加载器中

sudo ln -s /etc/apache2/sites-available/web_dns.conf /etc/apache2/sites-enabled/web_dns.conf

4.修改bind的配置文件 /etc/bind/named.conf.local
 

4.1没有下载bind9 就先下载

sudo apt install bind9 -y

4.2进入 /etc/bind/named.conf.local

编辑加入

 

zone "www.web_dns1.net" IN {
type master;
file "/etc/bind/db.web_dns1";
};
zone "www.web_dns2.net" IN {
type master;
file "/etc/bind/db.web_dns2";
};
 

如果后续bind9服务重启失败 可以使用 sudo named-checkconf来检查这里的错误

如果有错 会返回错误的行号和原因

行号显示在vim编辑器中用 :set nu

4.3进入bind的工作目录 /etc/bind

创建编辑两个正向解析区文件db.web_dns1和db.web_dns2(可以在bind的工作目录下通过cat db.local 来复制粘贴模板就不必一个个手打 但是要注意不要复制到空格 此配置文件非常严格)

db.web_dns2同理 就不展示了

5.在/etc/resolv.conf修改配置文件 注释原来的nameserver

这里新增的nameserver是你自己上面用的ip地址 也就是你现在使用的虚拟机ip地址

6.重启bind9和apache2服务器

如果不知道自己的软件服务器名字是什么

使用

systemctl list-units --type=service | grep -i 你要查找的软件名

就可以返回重启所需要的服务器名了

7.在虚拟机的浏览器中输入http://www.web_dns1.net

显示则实验成功

相关文章:

【笔记】在虚拟机中通过apache2给一个主机上配置多个web服务器

(配置出来的web服务器又叫虚拟主机……) 下载apache2 sudo apt update sudo apt install apache2 (一)ip相同 web端口不同的web服务器 进入 /var/www/html 创建站点一和站点二的目录文件(目录文件名自定义哈&#x…...

“校园健康数据管理”:疫情管控系统的信息收集与分析

3.1可行性分析 通过对系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1 技术可行性 1.硬件可行性分析 校园疫情管控系统系统的硬件要求方面不存在特殊的要求&#xff0c…...

MySQL 中存储金额数据一般使用什么数据类型

在 MySQL 中存储金额数据时,应该谨慎选择数据类型,以确保数据的精度和安全性。以下是几种常用的数据类型及其适用性: DECIMAL 类型: 描述:DECIMAL 类型是专门为存储精确的小数而设计的。它可以指定小数点前后的数字位数…...

使用 .NET 6 或 .NET 8 上传大文件

如果您正在使用 .NET 6,并且它拒绝上传大文件,那么本文适合您。 我分享了一些处理大文件时需要牢记的建议,以及如何根据我们的需求配置我们的服务,并提供无限制的服务。 本文与 https://blog.csdn.net/hefeng_aspnet/arti…...

帝国cms电脑pc站url跳转到手机站url的方法

本文讲解一下帝国cms电脑网站跳转到手机动态网站和手机静态网站的方法,笔者以古诗词网 www.gushichi.com为例,为大家介绍操作步骤。方法一:帝国pc站跳转到手机静态站 1、假设我们有帝国cms 电脑网站www.XXX.com,手机网站m.XXX.com &#xf…...

D类音频应用EMI管理

1、前言 对于EMI,首先需要理解天线。频率和波长之间的关系,如下图所示。   作为有效天线所需的最短长度是λ/4。在空气中,介电常数是1,但是在FR4或玻璃环氧PCB的情况下,介电常数大约4.8。这种效应会导致信号在FR4材…...

【行业发展报告】2024大数据与智能化行业发展浅析

回首 2024,大数据智能化浪潮汹涌。海量数据宛如繁星,在智能算法的苍穹下汇聚、碰撞,释放出洞察市场与用户的强大能量,精准勾勒出商业新航线。我们精心雕琢技术架构,从数据存储的坚固基石到处理分析的高效引擎&#xff…...

闲谭Scala(3)--使用IDEA开发Scala

1. 背景 广阔天地、大有作为的青年,怎么可能仅仅满足于命令行。 高端大气集成开发环境IDEA必须顶上,提高学习、工作效率。 开整。 2. 步骤 2.1 创建工程 打开IDEA,依次File-New-Project…,不好意思我的是中文版:…...

系统压力测试助手——stress-ng

1、背景 在系统性能测试和压力测试中,stress-ng 是一个非常强大的工具,广泛应用于对 Linux 系统进行各种硬件和软件方面的负载测试。它能够模拟多种极端负载情况,帮助开发人员和运维人员检查系统在高负载下的表现,以便发现潜在的…...

FFmpeg推拉流命令

命令简介 它可以将本地的视频/音频流推送到服务器,也可以将服务器上的音视频流拉到本地。 推流命令的命令格式 ffmpeg -re -i [输入文件] -c:v [视频编码器] -c:a [音频编码器] -f [输出格式] [推流地址] 参数解析 -re 表示采用实时模式,以原始速度…...

【Spring】基于注解的Spring容器配置—— @Component及其衍生注解

Spring框架因其灵活性和强大的功能被广泛应用于企业级应用的开发中。Spring提供了一种基于IoC(控制反转)和AOP(面向切面编程)的编程模型,使得开发者能够以更简单和高效的方式管理应用程序的对象及其依赖关系。 在Spri…...

基于统计分析与随机森林的环境条件对生菜生长的影响研究

1.项目背景 随着现代农业的发展,对植物生长过程中环境因素的影响有了越来越多的关注,基于2023年8月3日至2023年9月19日期间记录的70个不同生菜样本的生长数据进行分析,可以更好地理解温度、湿度、pH值和总溶解固体(TDS&#xff0…...

基于PyQt5的UI界面开发——多界面切换

介绍 最初,因为课设的缘故,我只是想做一个通过按键进行切面切换而已,但是我看网上资料里面仅是语焉不详,让我困惑的很,但后面我通过摸索才发现这件事实在是太简单了,因此我想要记录下来。 本博客将介绍如…...

C语言-结构体内存大小

#include <stdio.h> #include <string.h> struct S1 { char a;//1 int b;//4 char c;//1 }; //分析 默认对齐数 成员对齐数 对齐数(前两个最小值) 最大对齐数 // 8 1 …...

搭建vue项目

一、环境准备 1、安装node node官网&#xff1a;https://nodejs.org/zh-cn 1.1、打开官网&#xff0c;选择“下载”。 1.2、选择版本号&#xff0c;选择系统&#xff0c;根据需要自行选择&#xff0c;上面是命令安装方式&#xff0c;下载是下载安装包。 1.3、检查node安装…...

【每日学点鸿蒙知识】Text填充父控件、Native接收数组、js逻辑不执行问题、UIAbility上下文问题、页面跳转路由栈

1、HarmonyOS 如何使Text组件填充满父组件&#xff1f; build() {Row() {Row() {Text(this.str).constraintSize({ maxWidth: 100%, minHeight: "30vp" }).backgroundColor(Color.Gray).fontSize(24vp)}.key(row1).constraintSize({ maxWidth: 100%}).backgroundCol…...

Debian-linux运维-ssh配置(兼容Jenkins插件的ssh连接公钥类型)

系统版本&#xff1a;Debian 12.5、11.1 1 生成密钥对 可以用云服务商控制台生成的密钥对&#xff0c;也可以自己在客户端或者服务器上生成&#xff0c; 已经有密钥对就可以跳过这步 用户默认密钥文件路径为 ~/.ssh/id_rsa&#xff0c;可以在交互中指定路径&#xff0c;也可…...

37. socketserver模块

一、socketserver模块 SocketServer 是标准库中的一个高级模块&#xff0c;它的目标是简化很多样板代码&#xff0c;它们是创建网络客户端和服务器所必须的代码。这个模块中有为你创建的各种各样的类。 类描述BaseServer包含核心服务器功能和 min-in 类的钩子&#xff1b;仅用…...

【详细讲解】hive优化

1、开启本地模式 大多数的Hadoop Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。不过&#xff0c;有时Hive的输入数据量是非常小的。在这种情况下&#xff0c;为查询触发执行任务消耗的时间可能会比实际job的执行时间要多的多。对于大多数这种情况&#xff0c;Hive可…...

芝法酱学习笔记(2.3)——shardingsphere分库分表

一、前言 之前的例子中&#xff0c;我们以一个简化了的销售单报表查询&#xff0c;展示了大数据量查询时&#xff0c;在索引和变量类型层面可以做的一些优化。可我们发现&#xff0c;无论怎么优化&#xff0c;一次查询都要好几秒。 这是一个现实问题&#xff0c;只要一个系统用…...

【超简单】Python入门实用教程

Python 入门教程 1 ---- Python Syntax Python是一个高效的语言&#xff0c;读和写的操作都是很简单的&#xff0c;就像普通的英语一样 Python是一个解释执行的语言&#xff0c;我们不需要去编译&#xff0c;我们只要写出代码即可运行 Python是一个面向对象的语言&#xff0c;…...

c语言中void关键字的含义和用法

在 C 语言中&#xff0c;void 是一个特殊的关键字&#xff0c;主要有以下几个用途&#xff1a; 1. 表示函数没有返回值 当一个函数不需要返回任何值时&#xff0c;可以将其返回类型声明为 void。 #include <stdio.h>void printMessage() {printf("Hello, World!\…...

数据库课程设计-工资管理系统-MySQL

目录 第一节 需求分析 1.1 需求分析概述 1.2 功能需求分析 1.2.1 人事数据管理模块 1.2.2 考勤数据管理模块 1.2.3 工资数据管理模块 1.2.4 工资计算公式设置模块 1.3 数据需求分析 1.3.1 数据项定义 1.3.2 数据结构定义 第二节 概念结构设计 2.1 分E-R图 ?2.2 基…...

基于 DINOv2 模型实现图搜图相似度检索任务

一、DINOv2 模型简介及使用 DINOv2是由Meta AI开发的第二代自监督视觉变换器模型&#xff0c;采用 Vision Transformer (ViT) 架构 。其核心特点是在无需人工标签的情况下&#xff0c;通过自监督学习技术&#xff0c;从海量无标注图像中学习有意义的视觉特征表示&#xff0c;类…...

Excel将混乱的多行做成1列

目标是将数据按从左到右&#xff0c;再从上到下排成一列。 公式法 首先用textjoin函数将文本包起来&#xff0c;做成一个超长文本。 然后用公式 截取文本 Mid(m1,n,3)&#xff0c;意思就是对m1单元格&#xff0c;从第n个字符开始&#xff0c;截取3个字符出来。 这个公式如何自…...

2021.12.28基于UDP同信的相关流程

作业 1、将TCP的CS模型再敲一遍 服务器 #include <myhead.h> #define PORT 8888 #define IP "192.168.124.123" int main(int argc, const char *argv[]) {//创建套接字//绑定本机IP和端口号//监听客户端请求//接收客户端连接请求//收发消息//创建套接字int…...

DevOps工程技术价值流:Ansible自动化与Semaphore集成

在DevOps的浪潮中&#xff0c;自动化运维工具扮演着举足轻重的角色。Ansible&#xff0c;作为一款新兴的自动化运维工具&#xff0c;凭借其强大的功能和灵活性&#xff0c;在运维领域迅速崭露头角。本文将深入探讨Ansible的特点、架构、工作原理&#xff0c;以及其应用场景&…...

【 Git 设置代理】

【 Git 设置代理】 1. 设置代理2. 检查当前 Git 代理3. 测试代理是否正常4. 查看Git所有配置5. 取消添加的代理 1. 设置代理 添加 HTTP 和 HTTPS 代理&#xff1a; git config --global http.proxy http://127.0.0.1:10809 git config --global https.proxy http://127.0.0.1…...

使用 HTML 和 CSS 实现绚丽的节日烟花效果

文章目录 1. 效果预览2. 核心技术栈3. 核心代码解读3.1 HTML结构3.2 霓虹文字的CSS样式3.2.1 核心样式代码3.2.2 动画效果 3.3 JavaScript 的烟花效果实现3.3.1 烟花上升3.3.2 粒子爆炸 4. 用户交互5. 运行步骤总结 1. 效果预览 打开后输入文本的展示内容 用户点击页面后播放…...

Java - 日志体系_Apache Commons Logging(JCL)日志接口库_适配Log4j2 及 源码分析

文章目录 PreApache CommonsApache Commons ProperLogging &#xff08;Apache Commons Logging &#xff09; JCL 集成Log4j2添加 Maven 依赖配置 Log4j2验证集成 源码分析1. Log4j-jcl 的背景2. log4j-jcl 的工作原理2.1 替换默认的 LogFactoryImpl2.2 LogFactoryImpl 的实现…...

【Halcon】例程讲解:基于形状匹配与OCR的多图像处理(附图像、程序下载链接)

1. 开发需求 在参考图像中定义感兴趣区域&#xff08;ROI&#xff09;&#xff0c;用于形状匹配和文本识别。通过形状匹配找到图像中的目标对象位置。对齐多幅输入图像&#xff0c;使其与参考图像保持一致。在对齐后的图像上进行OCR识别&#xff0c;提取文本和数字信息。以循环…...

FreePBX修改IP地址和端口以及添加SSL证书开启HTTPS访问

最近给单位部署了freepbx网络电话系统&#xff0c;我的系统是安装在ibm x3650 m4物理机上的&#xff0c;iso镜像下载后直接用Rufus烧录到U盘&#xff0c;服务器上先做好了raid1&#xff0c;插上U盘重启服务器开撸。安装过程略过了&#xff0c;在虚拟机上安装就不用那么麻烦。 …...

简易共享屏幕工具改进版

昨天心血来潮写了一篇关于简易共享屏幕工具的文章&#xff0c;发现也有一些阅读量&#xff0c;并且我对于它的效果不是很满意 &#xff0c;实际呈现的帧率还是太低了。所以我今天换了更高效的方式来实现。 50 行代码简易屏幕共享工具 改进 降低分辨率 昨天那个测试的帧率低&a…...

【WSL】Ubuntu 24.04 安装配置docker

继上一篇文章&#xff1a;【WSL】Ubuntu 22.04 安装配置docker 这次我在新搭建的台式机安装的WSL上&#xff0c;也安装一个docker&#xff0c;因为最近要开发TTS相关的东西。 参考 清华大学镜像站的这篇文章基本涵盖了所有的操作步骤&#xff0c;照着做就行了&#xff1a;Do…...

bash 中 ${-#*i} 是什么意思?

-------------------------------------------------- author: hjjdebug date: 2024年 12月 25日 星期三 17:43:45 CST description: bash 中 ${-#*i} 是什么意思? -------------------------------------------------- 在centos 的 /etc/profile 中有这样的语句 for i in /…...

C++ OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…...

Qt 中实现系统主题感知

【写在前面】 在现代桌面应用程序开发中&#xff0c;系统主题感知是一项重要的功能&#xff0c;它使得应用程序能够根据用户的系统主题设置&#xff08;如深色模式或浅色模式&#xff09;自动调整其外观。 Qt 作为一个跨平台的C图形用户界面应用程序开发框架&#xff0c;提供…...

PyTorch transpose、permute、view和einops.rearrange

einops.rearrange 和 PyTorch 中的 transpose、permute 以及 view 都用于张量的操作,但它们的功能侧重和用法各有不同。以下是它们的详细比较和区别: 1. 功能和用途对比 功能/操作einops.rearrangetorch.transposetorch.permutetorch.view维度交换支持直接通过模式字符串交换…...

爬虫数据存储:Redis、MySQL 与 MongoDB 的对比与实践

爬虫的核心任务是从网络中提取数据&#xff0c;而存储这些数据是流程中不可或缺的一环。根据业务需求的不同&#xff0c;存储的选择可能直接影响数据处理的效率和开发体验。本文将介绍三种常用的存储工具——Redis、MySQL 和 MongoDB&#xff0c;分析它们的特点&#xff0c;并提…...

05、MyBatis

一、简介 MyBatis它是一款优秀的持久层框架,它支持自定义SQL、存储过程及高级映射。不像Hibernate等一些全自动框架,对于关键的SQL部分可以交由程序自己编写而不是自动生成,从而提高了灵活性。 二、基础使用示例 基础依赖 <dependency><groupId>org.springf…...

EMNLP'24 最佳论文解读 | 大语言模型的预训练数据检测:基于散度的校准方法

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 点击 阅读原文 观看作者讲解回放&#xff01; 作者简介 张伟超&#xff0c;中国科学院计算所网络数据科学与技术重点实验室三年级直博生 内容简介 近年来&#xff0c;大语言模型&#xff08;LLMs&#xff09;的…...

Linux 的信号机制

目录 一、信号机制概述 二、常见信号类型及含义 三、信号的产生方式 1.用户操作产生信号 2.系统调用产生信号 3.硬件异常产生信号 四、信号的处理方式 1.默认处理 2.忽略信号 3.自定义处理函数 五、信号处理流程深入剖析 六、信号机制的应用场景与优势 七、总结 一、…...

国内独立开发者案例及免费送独立开发蓝图书

独立开发者在国内越来越受到关注&#xff0c;他们追求的是一种自由且自给自足的工作状态。 送这个&#xff1a; 少楠light&#xff08;Flomo、小报童、如果相机&#xff09;&#xff1a;他们是独立开发者的典范&#xff0c;不仅开发了多款产品&#xff0c;还坚信“剩者为王”…...

以太网(Ethernet)和无线局域网(Wireless Local Area Network, WLAN)

当然&#xff0c;下面我将详细介绍以太网&#xff08;Ethernet&#xff09;和无线局域网&#xff08;Wireless Local Area Network, WLAN&#xff09;&#xff0c;包括它们的定义、技术标准、优缺点以及应用场景等方面。 一、以太网&#xff08;Ethernet&#xff09; 1. 定义…...

大模型-ChatGLM2-6B模型部署与微调记录

大模型-ChatGLM2-6B模型部署与微调记录 模型权重下载&#xff1a; 登录魔塔社区&#xff1a;https://modelscope.cn/models/ZhipuAI/chatglm2-6b 拷贝以下代码执行后&#xff0c;便可快速权重下载到本地 # 备注&#xff1a;最新模型版本要求modelscope > 1.9.0 # pip insta…...

Web防火墙和下一代防火墙的区别

介绍 客户经常询问“当我已经拥有下一代防火墙&#xff08;NGFW&#xff09;时&#xff0c;为什么需要Web应用程序防火墙&#xff08;WAF&#xff09;&#xff1f;”。本博文的目的是解释两种解决方案之间的区别&#xff0c;重点关注Web应用程序防火墙可以提供的附加值。 什么…...

Yocto 项目中的交叉编译:原理与实例

Yocto 项目是一个强大的工具集&#xff0c;它专注于为嵌入式系统生成定制的 Linux 发行版。交叉编译在 Yocto 项目中扮演着核心角色&#xff0c;它使得开发者能够在功能强大的宿主机上构建适用于资源受限目标设备的软件系统。这篇文章将从运行原理、实际案例和工具链组成等角度…...

从安全角度看 SEH 和 VEH

从安全角度看 SEH 和 VEH 异常处理程序是处理程序中不可预见的错误的基本方法之一 https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/exceptions/ SEH——结构化异常处理程序 就其工作方式而言&#xff0c;异常处理程序与其他处理程序相比相当基础&#xff0…...

【多维DP】力扣3366. 最小数组和

给你一个整数数组 nums 和三个整数 k、op1 和 op2。 你可以对 nums 执行以下操作&#xff1a; 操作 1&#xff1a;选择一个下标 i&#xff0c;将 nums[i] 除以 2&#xff0c;并 向上取整 到最接近的整数。你最多可以执行此操作 op1 次&#xff0c;并且每个下标最多只能执行一…...

钉钉h5微应用,鉴权提示dd.config错误说明,提示“jsapi ticket读取失败

这个提示大多是因为钉钉服务器没有成功读取到该企业的jsticket数据 1. 可能是你的企业corpid不对 登录钉钉管理后台 就可以找到对应企业的corpid 请严格使用这个corpid 。调用获取jsapi_ticket接口&#xff0c;使用的access_token对应的corpid和dd.config中传递的corpid不一致…...