我最近决定在Azure上创建一个供个人使用的小博客(现在)。我开始深入挖掘博客框架Hexo。现在我已经掌控了(第一个)基础知识,并在本地启动了一个Hexo博客,但我想把它推到Azure。
我配置了一个带有GIT连接的基本Web应用程序,以便进行持续部署(https://github.com/lmeijdam/demo-repo)。我尝试了一个带有
的教程上面会产生一个工作响应并安装了node_modules ......但是从那里我真的迷失了我的下一步......
我知道你可以创建一个package.json文件并查看我的ftp客户端,package.json就在那里,还有安装了正确模块的node_modules文件夹。我的package.json;
{ “名称”:“hexo-site”, “版本”:“0.0.0”, “私人”:是的, “hexo”:{ “版本”:“3.1.1” }, “依赖”:{ “表达”: ”*”, “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” } }
我还发现你可以将一个Procfile部署到Azure然后使用的GIT仓库,如果你没有名为server.js的默认文件(https://github.com/yavorg/azure-node-starter/blob/master/Procfile)
后来,一位朋友带着提示来编辑proc文件来编写类似的东西;
web:/ node_modules / hexo / bin / hexo server 而不仅仅是 web:node server.js
不幸的是,这只会导致默认的blanco网页... http://lmnodetest1.azurewebsites.net/
我在这里做错了什么,或者我在开始时忘了什么?
答案 0 :(得分:3)
根据我的经验,Hexo是一个静态博客网站生成器。您可以按照以下步骤在路径" public"。
中生成网站$ hexo init blog
$ cd blog
$ npm install
$ hexo generate
然后,"公众"生成目录,您可以进入此目录并运行命令hexo server
来浏览http://localhost:4000
以浏览您的博客。
$ cd public
$ hexo server
要使用Git将博客部署到Azure网站,您只需要通过命令git init
在" public"创建一个本地git仓库。 DIR。
请参阅文档https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/将其部署到Azure中。
最诚挚的问候。
答案 1 :(得分:3)
以下是我在Azure上运行Hexo博客的步骤:http://the-coderok.azurewebsites.net/2015/09/16/Running-Hexo-blog-on-Azure/
答案 2 :(得分:2)
在我看来,使用hexo的最佳部分是作为静态站点生成器。 hexo server
真正意味着为您提供一个良好的开发环境,您可以立即查看自己的帖子,但如果您要发布自己的网站,则需要提供静态生成的内容以从图片中删除节点。< / p>
Hexo拥有hexo generate
,如果您有自定义部署脚本,则可以使其与Azure良好协作。
Here is a repo with 2 commits你可以git push
到一个空网站,它会创建一个有效的静态hexo博客:
hexo init blog
这是您在deploy.cmd
中为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"
答案 3 :(得分:0)
我快速浏览了一下您的网站。问题似乎是您有一个server2.js文件但没有server.js文件。您可以尝试在您的仓库中重命名并再次推送吗?这至少应该让你超越第一道障碍。