在Azure上部署Hexo ..不知道我错过了什么

我最近决定开始在Azure上个人使用(现在)的小博客。 我开始深入研究博客框架Hexo。 现在我在本地启动了一个Hexo博客,掌握了(第一个)基础知识,但是我想把它推到Azure。

我使用GIT连接configuration了一个基本的Web应用程序,用于连续部署( https://github.com/lmeijdam/demo-repo )。 我尝试了一个教程

  • server.js文件
  • 的package.json
  • 的.gitignore

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

我知道你可以创build一个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部署到Azure使用的GIT仓库Procfile )

后来一位朋友带着小费编辑proc文件写下类似的东西;

web:/ node_modules / hexo / bin / hexo服务器,而不仅仅是web:node server.js

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

我在这里做错了什么,或者我在开始时忘记了什么?

根据我的经验,Hexo是一个静态博客网站生成器。 您可以按照以下步骤在“公共”path中生成一个网站。

$ hexo init blog $ cd blog $ npm install $ hexo generate 

然后,生成“公共”目录,并且可以进入该目录并运行命令hexo server浏览http://localhost:4000来浏览您的博客。

 $ cd public $ hexo server 

通过使用Git将博客部署到Azure网站,您只需要在“public”目录下命令git init来创build一个本地git仓库。

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

最好的祝福。

在我看来,关于使用hexo最好的部分是作为一个静态站点生成器。 hexo server真的是给你一个很好的开发环境,你可以立即看到你的post,但是如果你发布你的网站,你想服务于静态生成的内容从图片中删除节点。

Hexo已经hexo generatehexo generate ,如果你有自定义的部署脚本,你可以很好地与Azure协同工作。

这里有一个有2个提交的回购 ,你可以git push到一个空的网站,它会创build一个工作的静态hexo博客:

  1. 第一次提交只是hexo init blog的结果
  2. 第二次提交是自定义部署脚本。 你想把这两个文件复制到你自己的回购站。

这里是您在deploy.cmd需要的完整部分。

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

 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" 

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

我快速浏览了你的网站。 问题似乎是你有一个server2.js文件,但没有server.js文件。 你可以尝试在你的回购重命名,并再次推? 那至less应该让你超越第一个障碍。