首页 > 其他分享 >【笔记】在虚拟机中通过apache2给一个主机上配置多个web服务器

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

时间:2024-12-28 18:57:46浏览次数:3  
标签:web 配置文件 ip 虚拟机 apache2 etc conf

(配置出来的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

显示则实验成功

标签:web,配置文件,ip,虚拟机,apache2,etc,conf
From: https://blog.csdn.net/2301_81538937/article/details/144777597

相关文章

  • python毕设 基于web的旅游网站的设计与实现程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着互联网技术的飞速发展,基于web的应用在各个领域广泛普及。在旅游行业,国内外对于旅游网站的研究已经取得了不少成果。现有研究主要......
  • [4428] 14 增量构建:Webpack 中的增量构建
    开始课程前,我先来解答上一节课的思考题:课程中介绍的几种支持缓存的插件(TerserWebpackPlugin,CSSMinimizerWebpackPlugin)和Loader(babel-loader,cache-loader)在缓存方面有哪些相同的配置项呢?通过对比不难发现,这些工具通常至少包含两个配置项:第一项用于指定是否开启缓存,以及指定缓存......
  • [4426] 12 打包提效:如何为 Webpack 打包阶段提速?
    上节课我们聊了Webpack构建流程中第一阶段,也就是编译模块阶段的提效方案,这些方案可以归为三个不同的优化方向。不知道大家课后有没有对照分析自己在项目里用到了其中的哪些方案呢?今天我们就来继续聊聊Webpack构建流程中的第二个阶段,也就是从代码优化到生成产物阶段的效率提升......
  • [4425] 11 编译提效:如何为 Webpack 编译阶段提速?
    上一课我们聊了Webpack的基本工作流程,分析了其中几个主要源码文件的执行过程,并介绍了Compiler和Compilation两个核心模块中的生命周期Hooks。上节课后的思考题是,在Compiler和Compilation的工作流程里,最耗时的阶段分别是哪个。对于Compiler实例而言,耗时最长的显然是......
  • [4429] 15 版本特性:Webpack 5 中的优化细节
    开始课程前,我们先来解答上一节课的思考题:为什么在开启增量构建后,有时候rebuild还是会很慢呢?我们可以从两方面来找原因。首先,Webpack4中的增量构建只运用到了新增模块与生成Chunk产物阶段,其他处理过程(如代码压缩)仍需要通过其他方式进行优化,例如分包和压缩插件的缓存。其次,过......
  • 【Linux】ubuntu开启web服务
    1.利用python3自带的服务httpserver模块开启服务python3-mhttp.server8081缺点:客户端http协议的版本不对的时候就会报错采用https访问会报错然后服务就被中止了,从而异常了。报错的代码如下:47.100.190.74--[20/Jun/202105:15:06]code400,messageBadHTTP/0.9......
  • Bootstrap模态框使用WebUploader点击失效问题 - Bootstrao模态框弹出后内置js函数未起
    解决方案参考: https://blog.csdn.net/superdog007/article/details/78716352webuploader官网: https://fex-team.github.io/webuploader/getting-started.html 问题原因: 模态框弹出后,但是加载的js函数并未执行到html元素,但是F12页面查看元素后又显示正常, 解决: 在模态......
  • webkitRelativePath是什么?
    webkitRelativePath是一个在HTML5的FileAPI中使用的非标准属性,它由WebKit和Blink引擎(如Chrome和Safari浏览器)支持。这个属性提供了一个相对于用户选择文件夹的路径,当用户通过<inputtype="file"webkitdirectory>选择整个目录时,该属性对每个文件对象可用。主要特......
  • Web3与智能合约:揭秘区块链革命的双子星!
    Web3和智能合约是当前科技界讨论的热点,两者虽然在概念上有所重叠,但实际上它们代表了不同的技术层面和应用方向。为了更好地理解这两个概念的区别,我们将从多个维度进行深入分析。Web3:下一代互联网Web3是指互联网发展的第三个阶段,其核心理念是去中心化、用户自主和数据所有权归......
  • Web漏洞之CSRF和SSRF
    Web漏洞之CSRF和SSRFCSRFCSRF(CrossSiteRequestForgery,跨站请求伪造)是一种通过利用用户身份认证信息,诱导用户执行非预期请求的攻击方式。一、基础知识1.漏洞原理CSRF的核心在于黑客利用用户的身份认证信息,让用户在不知情的情况下向受信任的网站发送请求。例如,黑客......