【问题标题】:How do I host a localhost on my server with Mac Terminal?如何使用 Mac Terminal 在我的服务器上托管 localhost?
【发布时间】:2016-01-09 06:54:49
【问题描述】:

我一直在我的 Mac 上使用 CSS、HTML 和 JS 托管一个本地主机。为此,我只需使用 cd Desktop 导航到我的文件,然后是 cd filename ,然后我执行 python -m SimpleHTTPServer 8000 在我的本地主机上托管我的服务器。我知道这仅适用于托管服务器的人,但我想将它托管在我的本地网络上,所以任何去localhost:8000 的人都会看到它。 (我可以不用localhost:8000,事实上,我喜欢自定义名称。)
谢谢
-A

【问题讨论】:

  • 除非您网络上的每个人都登录到您的计算机上,否则localhost 不会解析到运行您服务器的计算机。
  • 这是否意味着如果我在别人的 Mac 上执行login 命令,然后登录我的电脑,我可以看到我的主机? @juanchopanza
  • 从那个登录会话,是的。

标签: python macos terminal localhost


【解决方案1】:

向其他人公开本地主机的一种简单方法是使用ngrok,可通过brew install ngrok 或该链接获得。 在上面的示例中,运行 ngrok 8000 将允许其他人访问您托管的服务器。显然,值得注意的是,这不仅限于您的本地网络!

也许更好的选择(如果您所做的只是托管静态 HTML、CSS 和 JS)是设置一个简单的 Apache 实例。默认配置应该可以正常工作,然后人们可以使用您计算机的本地 IP 例如192.168.0.10:8000 或您设置的任何端口访问您的页面。

编辑:正如其他回答者指出的那样,SimpleHTTPServer 将完成 Apache 所做的一切......您只需向人们提供您机器的本地 IP!

【讨论】:

    【解决方案2】:

    首先,如果您愿意,localhost 是一个“域名”。大多数情况下,它解析为 127.0.0.1,这是环回 IP 地址(例如,指向您的计算机)。 我假设您使用的是 python 2.x

    所以我们开始:

    #!/usr/bin/env python
    import BaseHTTPServer
    from SimpleHTTPServer import SimpleHTTPRequestHandler
    
    addr = ("0.0.0.0", 8000) #host to everyone
    
    serv = BaseHTTPServer.HTTPServer(addr, SimpleHTTPRequestHandler)
    
    serv.serve_forever()
    

    将其保存到 python 脚本并运行:

    python myfile.py
    

    如果您使用的是 python 3,请使用:

    python3 -m http.server --bind 0.0.0.0 8000
    

    现在让其他人通过您的本地网络访问您的服务器,您必须向他们提供您机器的 ip。 为此运行:

    ifconfig |grep inet
    

    你应该单独得到一些东西:

    inet 192.168.1.2 netmask 0xffffff00 etc etc
    

    现在您本地网络上的任何人都可以通过键入来使用您的服务器

    192.168.1.2:8000 
    

    在他们的浏览器中

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 2021-07-06
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      相关资源
      最近更新 更多