我是一名铁路开发人员。我希望在不支付月费的情况下托管我的静态网站。我预计用户数量在 50,000 - 100,000 之间。Heroku 提供 512mb 免费 dyno,Amazon S3 免费提供 20000 get request。
你认为在 Github 和 Dropbox 上托管静态页面比 Amazon 和 Heroku 有更好的结果和更多的获取请求吗?
我是一名铁路开发人员。我希望在不支付月费的情况下托管我的静态网站。我预计用户数量在 50,000 - 100,000 之间。Heroku 提供 512mb 免费 dyno,Amazon S3 免费提供 20000 get request。
你认为在 Github 和 Dropbox 上托管静态页面比 Amazon 和 Heroku 有更好的结果和更多的获取请求吗?
Dropbox 并不是真正意义上的像这样的实际托管服务,并且对共享链接有一些限制,因此它可能不是一个很好的解决方案,具体取决于带宽使用情况和请求数:
创建您的 GitHub 存储库
构成您网站的文件需要存储在 GitHub 存储库中。如果您正在创建一个网站来推广您现有的 GitHub 项目之一,您可以将网站文件添加到新分支,否则您可以为您的网站设置一个新的 repo。
注意:如果您不将网站文件添加到现有存储库,请确保在继续之前设置新存储库。
现在打开终端(Windows 上的命令提示符)并确保您的计算机上有 GitHub 存储库的副本。获得本地副本后,使用 cd 命令进入项目文件夹。
// Retrieve a copy of your GitHub repo.
git clone https://github.com/user/repository.git
// Move into that directory.
cd repository
注意:确保将克隆 URL 更改为 GitHub 存储库的 URL。这可以在主项目页面上找到。
创建孤立分支
现在你需要在你的 repo 中创建一个新的孤立分支来保存你所有的网站文件。
应该调用这个新分支gh-pages
。
git checkout --orphan gh-pages
如果您的 GitHub 存储库的主分支中已经有文件,您现在需要从新的 gh-pages 分支中删除这些文件。为此,您可以使用以下命令:
git rm -rf .
添加您的网站文件
现在您的 repo 已经正确设置,是时候添加构成您网站的所有 HTML、CSS 和 JavaScript 文件了。将这些添加到您的存储库后,您需要提交更改。为此,您可以使用以下命令。
git commit -a -m "Adding pages"
注意:-a
标志是git add
.
将您的更改推送到 GitHub
好的,所以您已将所有文件放在需要的位置。现在唯一要做的就是将新gh-pages
分支推送到 GitHub。您可以使用git push
命令执行此操作。
git push origin gh-pages
而已!您的网站现在应该在http://username.github.io/repository/上可用。
使用自定义域
我想在这篇文章中介绍的最后一件事是如何在新的 GitHub 托管网站中使用自己的域名。
首先,您需要在 GitHub 存储库中创建一个名为 CNAME 的新文件,其中包含您希望使用的域名(或子域)。gh-pages
如果您使用的是项目页面(正如我们在这篇文章中所做的那样),该文件应该放在分支中。如果您使用的是用户页面,则该文件应放在master
分支中。
您的CNAME
文件可能如下所示:
xcode42.com
接下来,您需要更新域名的 DNS 记录。这通常是通过您的域名注册商提供的控制面板来完成的。
如果您想为您的网站使用根域(例如http://www.xcode42.com),您需要设置一个指向 IP 地址 204.232.175.78 的新 A 记录。
如果您使用子域(例如abc. xcode42.com
),最好创建一个指向您的 GitHub 用户子域(用户名.github.io)的新 CNAME 记录。这样一来,如果 GitHub 上的服务器 IP 地址发生变化,DNS 将自动调整。
您的 DNS 更改可能需要一段时间才能生效。这通常不超过几个小时。更改完成后,您应该能够从您的自定义域名访问您的新网站。
--
GitHub 页面确实限制您在网站上使用静态资产(HTML、CSS 和 JS),但您可以使用 Jekyll 之类的工具来更轻松地生成这些文件。
它不会满足每个人的需求,但如果您只想启动一个简单的网站,GitHub pages 是一种快速简便的入门方式。