Windows访问虚拟机中的web项目


第一阶段

今天突发奇想,虚拟机中搭建了web项目,那我能不能在Windows下访问呢?带着这个问题,我在Ubuntu虚拟机中启动了一个django项目,虚拟机中访问127.0.0.1:8000正常,机智如我,在Windows下打开了chrome,输入127....结果喜闻乐见,百度之后得知要修改服务器地址,设置为0.0.0.0:8000: python manage.py runserver 0.0.0.0:8000 而且访问的应该是虚拟机的ipv4地址,查看命令是ifconfig。做完这些我在chrome中输入了虚拟机地址。。然而并没有什么卵用,接着我想到我Windows下根本ping不通虚拟机,那怎么办,难道就这么放弃吗?tan 90!!!我把虚拟机的网络连接方式改成了桥接网卡,这样的话虚拟机虽然不能连接外网了(公司代理服务器屏蔽了桥接网卡时的虚拟机地址),但是Windows再次ping虚拟机的时候正常,似乎看到了一缕曙光,ok,冲冲冲,启动django项目,windows访问虚拟机地址,成功到达了网站首页!!

第二阶段

我是要把Ubuntu当服务器的,肯定绕不过nginx这个可爱又迷人的小玩意儿,很多操作在搭建本站时已经用过了,也算轻车熟路,使用nginx+uwsgi启动web项目后,在虚拟机中访问正常,在Windows下却跳到了腾讯首页,卧了个槽,又想起自己修改过虚拟机的本地hosts,之前给自己挖过的坑得慢慢填...还原hosts配置文件,修改nginx配置文件,不再跳转到qq.com的域名下,重启nginx,uwsgi重新挂载配置文件,清除Windows浏览器记录,这些搞完就正常了,此时我的虚拟机就类似于一个web服务器。

第三阶段

虚拟机的ipv4地址开头与windows一致,都属于公司IP,那我的同事们是否可以访问我的web项目呢?我找同事帮我测试了一下,结果居然顺利到达了,这样看来我似乎是搭建一个局域网服务器,可以供同IP下的所有人使用,我把django项目换成了wordpress,修改url配置后结果与预期完全一致。 顺便找到了wordpress无法安装主题、无法上传文件的解决办法:

//开放文件夹读写权限:
sudo chmod -R  777 wordpress/
//修改wp-config.php配置文件,在末尾添加:
define("FS_METHOD","direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);