在 Azure 上部署 Hexo.. 不确定我错过了什么

Deploying Hexo on Azure.. not sure what i'm missing

我最近决定在 Azure 上创建一个供个人使用(目前)的小型博客。我开始研究博客框架 Hexo。现在我通过在本地创建 Hexo 博客掌握了(第一个)基础知识,但我想将它推送到 Azure。

我配置了一个带有 GIT 连接的基本 Web 应用程序以进行持续部署 (https://github.com/lmeijdam/demo-repo)。我尝试了

的教程

以上将导致工作响应并安装 node_modules...但是从那里我真的迷失了我的下一步...

我知道您可以创建一个 package.json 文件并查看我的 ftp 客户端 package.json 以及安装了正确模块的 node_modules 文件夹。我的 package.json;

{ "name": "hexo-site", "version": "0.0.0", "private": true, "hexo": { "version": "3.1.1" }, "dependencies": { "express": "*", "hexo": "^3.1.0", "hexo-deployer-git": "0.0.4", "hexo-generator-archive": "^0.1.2", "hexo-generator-category": "^0.1.2", "hexo-generator-index": "^0.1.2", "hexo-generator-tag": "^0.1.1", "hexo-renderer-ejs": "^0.1.0", "hexo-renderer-marked": "^0.2.4", "hexo-renderer-stylus": "^0.3.0", "hexo-server": "^0.1.2" } }

而且我还发现,如果您没有名为 server.js (https://github.com/yavorg/azure-node-starter/blob/master/Procfile)[=15 的默认文件,您可以将 Procfile 部署到 Azure 然后使用的 GIT 存储库=]

后来一位朋友提出了编辑 procfile 以编写类似内容的提示;

web: /node_modules/hexo/bin/hexo server instead of just the web: node server.js

不幸的是,这只会导致默认的 blanco 网页... http://lmnodetest1.azurewebsites.net/

我是不是做错了,还是一开始就忘记了什么?

我快速浏览了您的网站。问题似乎是您有 server2.js 文件但没有 server.js 文件。您可以尝试在回购协议中重命名它并再次推送吗?这至少应该让你跨过第一个障碍。

在我看来,使用 hexo 最好的部分是作为静态站点生成器。 hexo server 的真正目的是为您提供一个良好的开发环境,您可以在其中立即看到您的帖子,但如果您要发布您的网站,您需要提供静态生成的内容以从图片中删除节点。

Hexo 有 hexo generate,如果您有自定义部署脚本,您可以让它与 Azure 很好地协同工作。

Here is a repo with 2 commits 你可以 git push 到一个空站点,它会创建一个工作的静态 hexo 博客:

  1. First commit 只是 hexo init blog
  2. 的结果
  3. Second commit 是自定义部署脚本。 您想将这 2 个文件复制到您自己的存储库中。

这是您在 deploy.cmd for hexo 中需要的确切部分。

请注意,repo 中的实际脚本有更多的行来正确处理错误,但这只是您需要的要点

echo Handling Hexo deployment.

IF NOT DEFINED HEXO_PATH (
   echo Setting HEXO_PATH to %HOME%\npm_tools\hexo.cmd
   set HEXO_PATH="%HOME%\npm_tools\hexo.cmd"
)

IF NOT EXIST %HEXO_PATH% (
  echo Hexo CLI isn't installed. Running 'npm install hexo-cli -g'
  mkdir "%HOME%\npm_tools"
  npm config set prefix "%HOME%\npm_tools"
  npm install -g hexo-cli
)

echo Running 'npm install --production'
npm install --production

echo Running 'hexo generate'
%HEXO_PATH% generate

echo Copying static content to site root
"%KUDU_SYNC_CMD%" -v 50 -f "public" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"

根据我的经验,Hexo 是一个静态博客网站生成器。您可以按照以下步骤在路径 "public".

中生成网站
$ hexo init blog
$ cd blog
$ npm install
$ hexo generate

然后,"public"目录生成,你可以进入这个目录,运行命令hexo server浏览http://localhost:4000探索你的博客。

$ cd public
$ hexo server

要使用 Git 将博客部署到 Azure 网站,您只需在 "public" 目录中通过命令 git init 创建一个本地 git 存储库。

请参阅文档 https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/ 将其部署到 Azure。

此致。

以下是我在 Azure 上对 运行 Hexo 博客执行的步骤:http://the-coderok.azurewebsites.net/2015/09/16/Running-Hexo-blog-on-Azure/