欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 【笔记】在虚拟机中通过apache2给一个主机上配置多个web服务器

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

2025/1/5 6:51:46 来源:https://blog.csdn.net/2301_81538937/article/details/144777597  浏览:    关键词:【笔记】在虚拟机中通过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

显示则实验成功

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com