前言
由于我的主机里环境弄得乱七八糟,无法正常使用阿帕奇,我又不想重置电脑,所以就想在虚拟机里配置环境,结果我的虚拟机无法安装mysql,于是就用虚拟机访问主机的mysql。
我在虚拟机里部署的Flask项目,然后WEB服务器用的是阿帕奇2.4,这个用什么都可以,先把虚拟机里的WEB服务弄好,浏览器访问127.0.0.1或localhost能进入你自己的网页。
网络设置
虚拟机的防火墙要全部关闭,否则连不上。(在控制面板里)
下一步就是要在主机中能访问虚拟机中的这个WEB服务器,我在这里卡了好久,各种设置,最后终于调通了,不过这样在虚拟机中有BUG,web服务器正常,但虚拟机的中浏览器不能访问网页。用电脑管家修复网络却显示都正常。qq可以传文件(因为我没安Tools,所以用qq传文件),但qq空间等有关网页的内容都不能正常访问。这个问题留着以后再解决。
因为有这个问题,所以建议最后没有办法的时候再用。配置如下。
虚拟机网络设置:
编辑-----虚拟网络编辑器-----更改设置
移除所有的网络,然后添加一个网络VMnet0,选择NAT模式;
虚拟机设置里网络适配器改成自定义,选择刚才添加的那个网络;
然后在虚拟机里的CMD命令行里运行ipconfig,得到IPv4地址;
主机浏览器访问这个地址,就可以看到虚拟机的WEB的网页了。
内网穿透
内网穿透用花生壳和路由侠都比较方便,如果想用自己的域名,可以用frp,这些我就不细讲了。
使用内网穿透时直接穿上面获取到的虚拟机的IPv4地址就可以。
我用的frp是:
https://frp.cool/?page=panel&module=configuration&server=4
免费的,不过速度都不快,只能用于要求不高的场合。
域名在阿里云和腾讯云里都很便宜。域名解析和配置等上面网址里都有教程。
虚拟机连接主机mysql
首先是主机mysql的设置,参考:https://blog.csdn.net/qq_40012458/article/details/83059088?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.baidujs&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.baidujs
这里面说的委清楚,也比较简单。
然后是主机的防火墙出入站规则配置,因为mysql默认的3306端口,所以我们要打开。
进入主机的控制面板,找到防火墙,找不到的直接右上角搜索,打开后找到【高级设置】,就能看到出站和入站规则了;
点击右边的新建规则,规则类型选择端口;
选择TCP,特定端口,输入3306;
下一步选择允许连接,再下一步,三个都选上;
下一步,名称输入mysqlport方便记忆,然后点完成。
这样就设置好了。
出站和入站各加一个,都和上面的一样。
接下来在虚拟机连接,本来需要用mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 来连接,但我的虚拟机报错说 不是什么什么命令。然后我直接用Navicat for MySQL,连接成功。
我用的Navicat for MySQL安装包及教程链接:https://pan.baidu.com/s/1m7imlKJM1HD2DOp_zGPMEw
提取码:6666
复制这段内容后打开百度网盘手机App,操作更方便哦
版本比较老10.0.5,不过还好用。激活码请自行百度