求教虚拟机如何绑定域名 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lml12377
V2EX    程序员

求教虚拟机如何绑定域名

  •  
  •   lml12377 2017-09-06 09:16:31 +08:00 5760 次点击
    这是一个创建于 2984 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样的,我的是 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 并让虚拟机来处理这个请求?

    21 条回复    2017-09-08 16:17:35 +08:00
    atc
        1
    atc  
       2017-09-06 09:21:14 +08:00   1
    nginx 的 server_name 需要加上 xxx.com
    lengxx
        2
    lengxx  
       2017-09-06 09:24:34 +08:00   1
    hosts 上还能指定端口的?
    UnisandK
        3
    UnisandK  
       2017-09-06 09:27:15 +08:00   1
    在 mac 的 /private/etc/hosts 中加入了 xxx.com localhost:8081 ? hosts 能这么用?
    panda1001
        4
    panda1001  
       2017-09-06 09:28:09 +08:00 via Android   1
    直接映射 80 不就好了
    lml12377
        5
    lml12377  
    OP
       2017-09-06 09:29:13 +08:00
    @lengxx 这个比较蛋疼,mac 有一套默认的环境,80 已经被占用了
    yu1u
        6
    yu1u  
       2017-09-06 09:29:28 +08:00 via iPhone   1
    如果用路由器的话,楼主用桥接吧,mac 一个网段,然后 nginx 绑定域名,如果还需要外网访问的话解析到公网地址,前提运营商给你的是公网 ip,然后在路由器上映射端口或 dmz ,如果只在内网访问,解析到内网 ip 就可以了!
    hard2reg
        7
    hard2reg  
       2017-09-06 09:31:09 +08:00 via iPhone   1
    hosts 不用指定端口……
    server_name 加上你的域名
    Astralis
        8
    Astralis  
       2017-09-06 09:32:04 +08:00   1
    从来没听说过 hosts 能指定端口
    UnisandK
        9
    UnisandK  
       2017-09-06 09:33:16 +08:00   1
    @lml12377 你为啥要把虚拟机的端口映射到本地来然后用 localhost 访问。。直接虚拟机监听 80 然后 hosts 把域名改成虚拟机的 IP 不就行了吗
    lml12377
        10
    lml12377  
    OP
       2017-09-06 09:33:52 +08:00
    @hard2reg 所以说要么在 mac 上直接开搞,要么把 mac 自带的那一套环境卸载了?。。。就是因为 80 端口用不了
    hard2reg
        11
    hard2reg  
       2017-09-06 10:04:46 +08:00 via iPhone   1
    @lml12377 最终的效果是什么
    chztv
        12
    chztv  
       2017-09-06 10:05:40 +08:00   1
    把 Mac 上的一套环境里 80 端口换个端口,80 给虚拟机就行了。hosts 指定端口是不行的。
    MangozZ
        13
    MangozZ  
       2017-09-06 10:29:13 +08:00
    所以为啥用 NAT ?
    就算用 NAT, 虚拟机也有自己的 ip。
    与其映射出来, 为什么不直接在 hosts 设置解析 xxx.com 虚拟机的 ip ?
    丑人多作怪 [手动滑稽]
    RealLiuSha
        14
    RealLiuSha  
       2017-09-06 13:56:13 +08:00
    缺乏基础知识,负分。 虽然倡导让自己的回复对别人有帮助!
    yxn1910
        15
    yxn1910  
       2017-09-06 16:48:57 +08:00   1
    比较简单的方式是把虚拟机网卡改为桥接,配置一个固定 ip,然后在 hosts 里把域名指到这个 ip 就可以。
    还有个办法是虚拟机加块网卡,使用 host-only 方式,虚拟机上网仍然通过 nat 网卡,但是宿主机访问虚拟机走 host-only 网卡。
    lml12377
        16
    lml12377  
    OP
       2017-09-06 17:08:09 +08:00
    @MangozZ 请问,你试过吗?
    lml12377
        17
    lml12377  
    OP
       2017-09-06 17:10:25 +08:00
    @lgpqdwjh 不知道就不知道,装逼并不能显得你多高端~
    lml12377
        18
    lml12377  
    OP
       2017-09-06 17:15:10 +08:00
    @yxn1910 谢谢,直接把 mac 自带的 apache 改改配置用起来了,你说的方法等有空试一下~
    a128445
        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...
    RealLiuSha
        20
    RealLiuSha  
       2017-09-07 09:22:31 +08:00
    @lml12377 喷我也不能挽回什么 “在 mac 的 /private/etc/hosts 中加入了 xxx.com localhost:8081,这个时候 nginx 相关 server 的 server_name 还是 localhost,在 mac 上访问 localhost:8081 没问题,但是访问 xxx.com 无效。” 多傻的提问。
    lml12377
        21
    lml12377  
    OP
       2017-09-08 16:17:35 +08:00
    @lgpqdwjh 80 被本机 apache 占用,hosts 不能加端口,虚拟机 nginx 映射的 8081,既然你这么喜欢找成就感,那来吧,说说怎么解决?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5751 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 01:55 PVG 09:55 LAX 17:55 JFK 20:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86