如何在Mac终端上托管本地主机?

时间:2015-10-11 21:17:05

标签: python macos terminal localhost

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

2 个答案:

答案 0 :(得分:1)

首先,如果您愿意,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 

在他们的浏览器中

答案 1 :(得分:0)

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

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

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