且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

更新时间:2022-06-25 10:27:49

WAMP作为许许多多前后端开发,本地调试的一种流行集成套件,初学者往往在配置过程中就会遇到许多问题,其中就有localhost能够访问,但外网无法访问的情况,这篇文章就针对这个问题的一种问题排查,做简要的陈述与讨论。

开始教程前,先来看一看本机的运行环境,如果按照流程走出现其他异常,优先排查环境问题

WAMP 32位版 3.0.6

WIN7 x86 企业版

其他VC运行库全部安装,NET装了3.5以及4.0,还有一些运行库这里省略。

——我是华丽的分割线—————————————————————————————————————

wamp2.5版本根据网上的说法,是在线后其他计算机一样可以访问的。但是到了3.x.x就变成默认其他机子不能访问了。

那么正题开始。wamp默认安装完设置完,是只能在本机(localhost)进行登陆的,当除了本机的人进行登陆的时候,应该会提示forbidden。

接下来请看图。

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

这是正常安装完的样子,你以为是绿了就没事了,可是你不知道这样问题大着呢。

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

注意看这个文字,服务器离线,服务器都离线了还玩个**。所以我们要做的就是让服务器在线。

那么这个中间的过程,我就不多赘述。下面直接切入正题,告诉大家我是如何调通的。

网上大部分的教程都是针对这个文件的修改(httpd.conf):

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

这个其中包括了大量的对于诸如监听哪个端口,指定本机服务器IP是多少,以及对于访问的很多控制,理一理这个文件有助于你理解wamp的运行机制。

但经过本人多次参照网上教程进行多种修改后,基本上都是没用的,甚至有时候还会导致服务无法启动。所以这条路暂时不通【可以留言探讨】

另外至少我是发现了滑过六级的水平看懂那个说明是没有问题的。。所以说还是要学会看英文文档。

好了,不继续扯皮了。接下来要实现我们的目的,就要按照接下来的步骤进行操作~

1.调出wamp让其上线的按钮,按照下图操作。

在wamp那个托盘图标上点击右键,然后就能看到下图的菜单了,选择图中的选项。

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

你可以看到

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

嗯,菜单中出现了“切换到在线状态”的选项了。

2.修改”httpd-vhosts“文件

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

还是原来那张图,我们要修改的是蓝色高亮行下面的那个httpd-vhosts.conf(推荐用notepad++)进行编辑。

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

编辑成如图的状态。原来在中间是有一句require local,现在改成require all granted。

然后重新启动wamp的服务。还别急,别忘了要让服务器在线!左键点击wamp的托盘图标,点击“切换到在线状态”,要让wamp的小图标变成如下:

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

全部顺利无误后,应该外网就可以访问本机了。在另一台机器(***和你的服务器机子在同一个网络下)浏览器内输入服务器电脑的IP地址即可。

PS:此时wamp服务器监听的是本机的80端口,所以其他机器在浏览器里输入能探查到的本机ip,就相当于是访问了这台电脑上的apache服务器。如果连forbidden提示都没有,可能是防火墙之类的拦截,再仔细检查一下其他的系统设置。

展示一下此时的效果:

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

那么到这一步,就是外网可以正常访问本服务器网站了。

3.还没完,根据需求继续设置php服务器外网访问

如果你在其他机器登陆到上面那个网址后,点击phpmyadmin,应该还是进不去的,同样会提示forbidden,这个也是因为访问权限的问题。

我们还要做如下修改

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

根据上图所示,打开phpmyadmin.conf设置文件,修改成下图红框中的内容:

【应用】wamp3.x.x设置,让外网能够访问本服务器(Windows)

经过如上设置之后,保存,再重启wamp,通过其他机子进行测试。点击网页中phpadmin的链接后,能够正常显示登陆界面,就说明是成功了。

至此,你的服务器已经能够被外网访问。