homestead 默认情况,在本机,是可以通过配置的域名访问虚拟机中的站点。可是,你的同事(其他)电脑是访问不了你的站点。既想你同事能访问,又不想用 ip。修改下配置,即可以实现。
这种需求,虽然不常见,但很有必要。因为你们自己没有公网服务器或不方便公网服务器用来测试。而刚好你的修改又需要特殊的测试,这个时候,这种需求就非常有用了。
操作一波
# win10
ipconfig
# mac
ifconfig
# 找到自己的 ip 192.168.1.101(后边会用到)
# 假如你之前已经启动了虚拟机,先关掉比较好
exit
vagrant halt
- 修改配置文件 Homestead/scripts/homestead.rb (不放心可以备份一份),做如下修改:
if settings['ip'] != 'autonetwork'
config.vm.network :public_network, ip: settings['ip'] ||= '192.168.10.10'
else
config.vm.network :private_network, ip: '0.0.0.0', auto_network: true
end
之前是 config.vm.network :private_network, ip: settings['ip'] ||= '192.168.10.10'
- 修改配置文件 Homestead/Homestead.yaml 文件,将之前的 ip 对应的值改成你同一网段,又没被局域网使用的 ip。比如 192.168.1.163,修改如下:
---
# ip: "192.168.10.10"
ip: "192.168.1.163"
memory: 2048
cpus: 2
好了,就修改这两个地方。然后启动虚拟机,带上参数 provision。
vagrant up --provision
在启动的过程中,会让你选择 bridged network interfaces
, 我本机是 amd cpu,有一个选项是 Hyper-V Virtual Ethernet Adapter,也开启了。但是不要选这个,选了就访问不了。不知道啥原因。选 Realtek PCIe GbE Family Controller 这个。直到启动完全。
- 修改本地 host
# 将之前的 192.168.10.10 修改成现在的 192.168.1.163
192.168.1.163 admin.com
到此,所有配置已经完成。然后在浏览器里输入: http://admin.com 看看效果。
局域网其他用户
其他用户,也必须修改 host,和本机的修改一样。
192.168.1.163 admin.com
然后,其他用户也能够通过 admin.com 访问到你本地的站点了。