是这样的,我的是 mac,装了一个 virtual box,里面是 centos 的一套 lnmp 环境,网络设置选择的 NAT,将 mac 的 8081 映射到虚拟机的 8081,虚拟机的 8081 是 nginx 其中一个网站根目录。
在 mac 的 /private/etc/hosts
中加入了 xxx.com localhost:8081
,这个时候 nginx 相关 server 的 server_name
还是 localhost
,在 mac 上访问 localhost:8081
没问题,但是访问 xxx.com
无效。
我应该怎么设置,才能在 mac 上访问 xxx.com
并让虚拟机来处理这个请求?
2
lengxx 2017-09-06 09:24:34 +08:00 1
hosts 上还能指定端口的?
|
3
UnisandK 2017-09-06 09:27:15 +08:00 1
在 mac 的 /private/etc/hosts 中加入了 xxx.com localhost:8081 ? hosts 能这么用?
|
4
panda1001 2017-09-06 09:28:09 +08:00 via Android 1
直接映射 80 不就好了
|
6
yu1u 2017-09-06 09:29:28 +08:00 via iPhone 1
如果用路由器的话,楼主用桥接吧,mac 一个网段,然后 nginx 绑定域名,如果还需要外网访问的话解析到公网地址,前提运营商给你的是公网 ip,然后在路由器上映射端口或 dmz ,如果只在内网访问,解析到内网 ip 就可以了!
|
7
hard2reg 2017-09-06 09:31:09 +08:00 via iPhone 1
hosts 不用指定端口……
server_name 加上你的域名 |
8
maojy1989 2017-09-06 09:32:04 +08:00 1
从来没听说过 hosts 能指定端口
|
9
UnisandK 2017-09-06 09:33:16 +08:00 1
@lml12377 你为啥要把虚拟机的端口映射到本地来然后用 localhost 访问。。直接虚拟机监听 80 然后 hosts 把域名改成虚拟机的 IP 不就行了吗
|
10
lml12377 OP @hard2reg 所以说要么在 mac 上直接开搞,要么把 mac 自带的那一套环境卸载了?。。。就是因为 80 端口用不了
|
12
chztv 2017-09-06 10:05:40 +08:00 1
把 Mac 上的一套环境里 80 端口换个端口,80 给虚拟机就行了。hosts 指定端口是不行的。
|
13
MangozZ 2017-09-06 10:29:13 +08:00
|
14
lgpqdwjh 2017-09-06 13:56:13 +08:00
缺乏基础知识,负分。 虽然倡导让自己的回复对别人有帮助!
|
15
yxn1910 2017-09-06 16:48:57 +08:00 1
比较简单的方式是把虚拟机网卡改为桥接,配置一个固定 ip,然后在 hosts 里把域名指到这个 ip 就可以。
还有个办法是虚拟机加块网卡,使用 host-only 方式,虚拟机上网仍然通过 nat 网卡,但是宿主机访问虚拟机走 host-only 网卡。 |
19
a128445 2017-09-07 00:41:39 +08:00 via Android 1
看你想怎么绑呗,只需要本地访问的话
(客户机的) host 改为 127.0.0.1 (虚拟机地址) xxx.com... 然后按照前面的人改 nginx 的 servername 就好了... 如果公网也可以访问...改 nginx 的 servername,不用改 host...DNS 指向公网 ip... |
20
lgpqdwjh 2017-09-07 09:22:31 +08:00
|