Linux系统:本机(物理主机)访问不了虚拟机中的apache服务问题的解决方案

在这里插入图片描述

学习目标:

提示:本文主要讲述-本机(物理主机)访问不了虚拟机中的apache服务情况下的解决方案
Linux系统:Ubuntu 23.04
文中提到的“本机”:代表,宿主机物理主机

首先,本片文章 主要 解决的是本机(物理主机)访问不了虚拟机中的apache服务,直白地说,一个简单的现象 例如:本机浏览器中打不开Apache服务中的默认WEB页面,再阅读文章之前,请确定你的设备是否具备以下前提,方可在出现上述问题时,通过本文能决绝你的问题。

出现问题之前你的设备是否具备以下几点条件

  1. 您的本机是否可以与虚拟机进行双向互Ping(Ping成功状态);
  2. 虚拟机Ubuntu系统中是否已经安装并正确配置Apache服务;
  3. 在配置并启动Apache服务后,是否可以在虚拟机上正常访问Apache服务;

如果上面三点皆满足的情况下,出现本机访问不了虚拟机中Apache服务的情况,那么就可以继续往下看!~
如果以上三点某一点不满足,请先解决以上问题,后再试~


问题原因分析:

Ubuntu本机无法访问虚拟机中的Apache服务可能是由于以下原因造成的:

  1. Apache服务未正常运行。
  2. 防火墙设置阻止了访问。
  3. Apache配置文件中的监听端口不是80或者被其他服务占用。
  4. Apache没有正确配置为接受外部连接。

方案避坑:

在遇到问题后,先通过百度查询相关解决方案,其中看到最多的一个解决方案如下,亲测解决不了问题
在这里插入图片描述

上面这个解决方案并不能解决问题,原因可能有以下几点:

  1. 上述解决方案的最初版本距离当前时间线 已经很远,可能在多次更新后已经不能解决此类问题。
  2. 上面这个方案的虚拟机是CentOS系统,不确定是否是系统的不同,导致,在执行第一条修改防火墙设置命令的时候,就出现了报错:
#报错信息如下:
iptables v1.8.7 (nf_tables): unknown option "--dport"
Try `iptables -h' or 'iptables --help' for more information.
  1. 在解决以上报错并成功执行第一条修改防火墙设置命令后,发现第二步骤中指定的文件目录不存在。终止当前方案的继续测试。

结论:上面类似的解决方案并不能解决问题,但是如果你是CentOS系统,可以一试,看看是否还能找到目标文件并成功解决问题。

有效解决方案:

  1. 确认Apache服务运行状态:
sudo systemctl status apache2

—如果服务未运行,启动它:
在这里插入图片描述

sudo systemctl start apache2
  1. 检查防火墙设置;确认是否允许通过80端口::
sudo ufw status

在这里插入图片描述

上图是在执行查询防火墙设置后,发现防火墙只运行通过了22端口(SSH协议默认端口),而Apache的端口并没有被允许。

—如果没有,允许HTTP流量:

sudo ufw allow 'Apache'

在这里插入图片描述

再次查看,防火墙设置已经添加Apache,并且到此作者的问题已经得到解决,已经可以在物理机上访问Apache服务了,如果没有解决得小伙伴可以继续往下看~

  1. 检查Apache配置;查看Apache配置文件(默认端口80):
cat /etc/apache2/ports.conf

在这里插入图片描述
—如果端口不是80,修改为80或其他未被占用的端口。

当前文件是默认配置,默认监听80端口,如果你对port.conf 文件之前有所改动可以修改调整。

  1. 确认Apache配置为监听外部请求:
    —查看/etc/apache2/sites-available/000-default.conf文件确认Listen 80和<VirtualHost *:80>指令。
cat /etc/apache2/sites-available/000-default.conf

在这里插入图片描述

  1. 如果有必要,重新加载Apache配置:
sudo systemctl reload apache2
  1. 如果以上步骤都不能解决问题,请检查是否有其他网络设置(本机防火墙等)或安全软件(如SELinux)导致连接问题。

相关链接:

1.sudo systemctl reload apache2命令的作用
1.Linux:防火墙相关命令使用(Ubuntu)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值