65.9K
CodeProject 正在变化。 阅读更多。
Home

HostMe - 托管静态网页从未如此简单

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.09/5 (8投票s)

2016年4月8日

MIT

4分钟阅读

viewsIcon

26948

downloadIcon

948

HostMe是一个简单的单EXE应用程序,可以轻松托管您的静态网页。它可以作为控制台应用程序或Windows服务运行,您只需付出最少的努力。

GitHub 源码

引言

并非每次托管网站都需要服务器端逻辑。当您只需要使用一些只托管您的站点且不做任何其他事情的东西来托管静态网页时,它就可以为您完成工作。

背景

如今许多网站都是作为单页应用程序编写的。通常,这些站点不需要传统的服务器端,客户端会向某些服务(甚至可能是微服务)发出一些http请求以获取相关数据。其余的工作在浏览器中完成。在这种情况下,托管静态网页就足够了。

在本文中,我想介绍一个我编写的应用程序 (HostMe),它正是这样做的。

要使用HostMe托管静态页面,您只需运行单个EXE文件(无需任何安装)。

使用HostMe

  1. 下载 HostMe
  2. HostMe.exe放在与您的index.html文件相同的目录中

  3. 以管理员身份运行HostMe.exe(默认托管端口为80端口,要在80端口上托管,您需要以管理员身份运行。如果您想更改默认端口,请查看此处)

  4. 现在您可以打开浏览器并输入localhost

您可以看到所有站点文件都已完美加载,甚至包括javascript代码。如果您想自己尝试,可以下载此示例

请注意,您无需在任何时候重新启动HostMe,任何新文件的添加或对现有文件的更改都会立即生效。

将HostMe作为Windows服务运行

以管理员身份运行cmd(要安装Windows服务,您必须是管理员),转到找到HostMe.exe的文件夹并键入

HostMe.exe -install

现在您有一个正在运行的Windows服务,它将在每次系统启动时自动托管您的站点并启动。您可以在services.msc中看到它

您可以在浏览器中再次输入localhost,它可以正常工作

如果你想卸载服务,你只需要执行以下操作

HostMe.exe -uninstall

您甚至不需要先停止Windows服务。

日志

HostMe会记录它收到的每个请求。您可以在EXE所在的同一目录中创建的logs文件夹中看到它。

请注意,由于logs文件夹位于与HostMe.exe相同的目录中,并且您使用默认配置,因此任何用户都可以访问您的日志文件。如果您不希望这种情况发生,请更改站点中的根目录,如下一节所述。

更改默认配置

HostMe的默认配置是在80端口上运行,并托管在EXE所在的同一目录中找到的内容。

要更改此行为,请在与EXE相同的目录中创建一个名为HostMe.config.json的新json文件。文件内容应采用以下格式

{
  "Path": "C:\MySite\siteRoot",
  "Port": 8080
}

路径是站点根文件夹的路径。它可以是相对于EXE的路径,也可以是绝对路径。

端口是托管站点的端口。

如果您省略其中一个属性,它将获得其默认值(端口将为80,根文件夹将为EXE的文件夹)。

因此,如果您只想将站点的根文件夹更改为siteRoot,并且您的EXE位于C:\MySite中,您可以编写以下内容

 {
    "Path": "C:\MySite\siteRoot"
 }

或者

{ 
    "Path": "siteRoot" 
}

下一步?

HostMe的代码实际上是开源的,可以在这里找到这里

如果您需要关于代码的一些解释,我很乐意撰写另一篇文章进行解释。

欢迎提出任何建议或你发现的问题。

有用链接

© . All rights reserved.