Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Mac终端在服务器上托管本地主机?_Python_Macos_Terminal_Localhost - Fatal编程技术网

Python 如何使用Mac终端在服务器上托管本地主机?

Python 如何使用Mac终端在服务器上托管本地主机?,python,macos,terminal,localhost,Python,Macos,Terminal,Localhost,我用CSS、HTML和JS在Mac上托管了一个本地主机。为此,我只需使用cd Desktop和cd filename导航到我的文件,然后使用python-msimplehttpserver 8000在本地主机上托管我的服务器。我知道这只适用于托管服务器的人,但我想在我的本地网络上托管它,所以任何转到localhost:8000的人都会看到它。(我很高兴它不是localhost:8000,事实上,我想要一个自定义名称。) 非常感谢。 -向其他人公开本地主机的一种简单方法是使用,可通过brew

我用CSS、HTML和JS在Mac上托管了一个本地主机。为此,我只需使用
cd Desktop
cd filename
导航到我的文件,然后使用
python-msimplehttpserver 8000
在本地主机上托管我的服务器。我知道这只适用于托管服务器的人,但我想在我的本地网络上托管它,所以任何转到
localhost:8000
的人都会看到它。(我很高兴它不是
localhost:8000
,事实上,我想要一个自定义名称。)
非常感谢。

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

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


编辑:正如另一位回答者指出的,SimpleHTTPServer将完成Apache所做的一切。。。你只需要给人们你的机器的本地IP

首先,如果您愿意,localhost是一个“域名”。大多数情况下,它解析为127.0.0.1,这是环回ip地址(例如,指向您的计算机)。 我假设您使用的是Python2.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 

在他们的浏览器中

除非您网络上的每个人都登录到您的计算机,
localhost
无法解析到运行您服务器的计算机。这是否意味着如果我在其他人的mac上执行
login
命令,并登录到我的计算机,我就可以看到我的主机@juanchopanzaFrom登录会话,是的。