如何在本地主机上运行HTML文件(任意端口)

14
我正在使用HTML、CSS和JavaScript以及Java作为服务器端创建一个网站。我需要在本地主机上运行它。我正在使用MacOS X 11(el Capitan)。
我已经尝试过Python和Node.js,但它们与Java冲突,所以我需要一种不会与Java冲突并且能帮助我在Mac上本地主机的技术。
2个回答

28
我记得 macOS 自带 PHP,而 PHP 也内置了一个 Web 服务器,足以为提供静态内容。因此,请打开 Terminal.app 并输入以下命令:
cd your/project/dir
php -S localhost:8080

之后你可以导航到 http://localhost:8080/ 并在浏览器中查看你的网站(假设你的项目中有index.html,否则会显示“未找到”消息)。

当然,还有更高级和/或不那么终端导向的方式,但既然你已经在玩Python和Node,再输入另一个终端命令应该没有问题。

顺便说一句,你可能想时不时地查看一下终端窗口,因为它会输出从服务器请求的内容的详细日志。这对于检查无效引用、404错误等非常有用。以下是样例输出:

$ php -S localhost:8080
PHP 7.3.6 Development Server started at Sat Jun 22 20:00:28 2019
Listening on http://localhost:8080
Document root is /private/tmp/test
Press Ctrl-C to quit.
[Sat Jun 22 20:00:32 2019] [::1]:51640 [200]: /
[Sat Jun 22 20:00:32 2019] [::1]:51641 [200]: /style.css
[Sat Jun 22 20:02:35 2019] [::1]:51670 [404]: /oops.html - No such file or directory

如您所见,根文件夹(/在我的情况下被翻译为index.html)和样式表(style.css)已被请求并成功传送(状态码为200)。但是不存在的文件oops.html导致了错误(状态码为404)。


非常感谢,但这不会与Java冲突吗? - sidrao2006
不,我的意思是我能同时使用两种后端语言吗? - sidrao2006
哦,你知道吗,我刚刚意识到你有Java后端,现在我不明白为什么你需要Python、Node或PHP来提供你的网站 - 你已经有Java了。你能更具体地说明一下你所说的“冲突”是什么意思吗?当你尝试使用Python或Node时是否有任何特定的错误消息? - alx
那么你的意思是我应该使用Java来使用本地主机吗? - sidrao2006
1
在Mac上,PHP已经不再启用或安装了:zsh: command not found: php - TruMan1
显示剩余11条评论

7
你可以使用 caddy
安装:brew install caddy
要从当前工作目录提供静态文件,请运行:
caddy file-server --browse --listen :2015

卡迪默认端口是2015,因此请在浏览器中打开http://localhost:2015

1
这似乎在当前版本中不再正确。我需要使用 caddy file-server --browse --listen :2015。现在只运行 caddy 就会显示帮助文本。 - Wim Deblauwe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接