如何在本地主机(任何端口)上运行 html 文件
Posted
技术标签:
【中文标题】如何在本地主机(任何端口)上运行 html 文件【英文标题】:How to run a html file on localhost (any port) 【发布时间】:2019-11-05 03:02:49 【问题描述】:我正在使用 html、CSS 和 js 以及用于服务器端的 java 创建一个网站。我需要在本地主机上运行它。
额外信息:我正在使用 mac os x 11 (el capitan)
我已经尝试过 python 和 node.js 但它与 java 冲突
所以我需要一种不会与 java 冲突的技术,并且可以帮助我在 mac 上进行 localhost
【问题讨论】:
【参考方案1】:IIRC macOS 预装了 php,并且 PHP 具有内置的网络服务器,足以提供静态内容。
所以,打开 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 冲突吗? 我认为它可能发生冲突的唯一方法是端口号。如果您的 Java 应用程序碰巧使用端口 8080,则只需提供 1025...65535 范围内的任何其他数字即可。然后在 php 命令和浏览器 URL 中使用该数字。 不,我的意思是我可以同时使用两种后端语言 哦,你知道吗,我刚刚意识到你有 java 后端,现在我不明白为什么你需要 python、node 或 php 来为你的网站提供服务——你已经有了 java。您能否更具体地说明“冲突”的含义?使用 python 或 node 尝试时是否有任何特定的错误消息? 所以你的意思是我应该使用java来使用localhost?【参考方案2】:您可以使用caddy
安装:brew install caddy
要从当前工作目录提供静态文件,请运行:
caddy file-server --browse --listen :2015
Caddy 的默认端口是 2015,所以打开浏览器到http://localhost:2015。
【讨论】:
当前版本似乎不再如此。我需要使用caddy file-server --browse --listen :2015
。现在只需运行caddy
即可显示帮助文本。以上是关于如何在本地主机(任何端口)上运行 html 文件的主要内容,如果未能解决你的问题,请参考以下文章