1.前言我本来是用国内的开源项目solo搭建博客的,但是感觉1核CPU的服务器和2G内存还是有点重,包括服务器里面还建了一个数据库。如果自己开发搭建,会花费很多时间,于是开始寻找轻量级的博客系统。就在这时,hexo突然对我招手,“嘿,兄弟,你要建博客吗?”“是啊是啊,不过我的配置很低,1C2G,太花哨的博客系统我也跑不了。”我尴尬的回答。“我的hexo是一个纯静态博客框架,一个快速、简洁、高效的博客框架。使用Markdown(或其他渲染引擎)解析文章,几秒生成主题精美的静态网页,不使用数据库。”hexo得意的说道。我的眼睛立马亮了起来,然后说:“真的,那真的很棒。不过我有很多博客平台可以发布博客,比如csdn、掘金、博客园、微信♂……”当时,一个强大的搬运工走了过来,身上扛着几箱博客纸箱,拍了拍我的肩膀,小声说道:“我叫ArtiPub,你要多平台发布文章?我就是想搬这些博客,你在我的肩膀上。”“哈,ArtiPubhero,hexohero,谢谢。不过怎么收费,你看我有点囊中羞涩。”此刻心里很是激动,摸了摸他在口袋里摸索着,今晚的晚饭只有一块钱二十五毛钱,心想两位英雄神通广大,费用肯定不便宜,他的表情开始变得变暗。“不要钱,免费工作,我为大家,大家也为我。”hexo和ArtiPub齐声说道。就在这时,我手里的一箱博客盒子被两个英雄拖着,然后挥袖扬尘而去,远处传来他们豪迈的笑声。过了一会儿,不到半杯茶,我的博客就搭建好了,然后是csdn、掘金、博客园、微信♂……所有的文章都出现了,我的眼里闪着激动的泪水,我默默的感谢hexo和ArtiPub这两位大侠,希望有一天我也能像他们一样,为正义而战,造福苍生。正在这时,正要回家,却看到地上有两本武术秘籍,一本《ArtiPub一键发布各平台》,一本《ArtiPub一键发布各平台》。这时我才知道这是两位英雄留给我的,于是写了这本书。这篇文章,就让我带大家领略一下这两个武侠秘籍的精髓吧。2、Hexo搭建博客Hexo官方中文文档:Documentation|Hexo这篇文章的思路是先在windows安装相应的环境,把文章放上去,然后生成一个静态文件,快速放到服务器上。一、Hexo简介Hexo是一个快速、简洁、高效的博客框架。Hexo使用Markdown(或其他渲染引擎)解析文章,秒级生成主题精美的静态网页。2、hexoserver运行hexoserver主要是搭建基础运行环境nginx和git,通过git搭建git-hook链接客户端和服务器,上传文件到git触发网站更新。1.服务器配置操作系统需要安装组件配置(cpu和内存)centos7.8nginx,git1C2G2,安装git和nginxyuminstall-ynginxgit3,添加一个git用户useraddgitpasswdgit#为git用户配置sudo权限chmod740/etc/sudoersvim/etc/sudoers#找到rootALL=(ALL)ALL,在其下添加一行gitALL=(ALL)ALLchmod400/etc/sudoers4,配置git参数#whereusernameandusername@XXX.comareyou注册Gitee的用户名和邮箱。如果该帐户未使用电子邮件地址注册,只需填写您自己的电子邮件地址之一。gitconfig--globaluser.name"username"gitconfig--globaluser.email"username@XXX.com"4.创建ssh密钥su-gitmkdir-p~/.sshcd~/.ssh#whereusername@XXX.com同上,就是你注册的邮箱ssh-keygen-trsa-C"username@XXX.com"然后连续回复3次car,最终会在用户目录下生成一个文件,打开用户目录,找到.ssh\id_rsa.pub文件,打开记事本复制内容,打开你的gitee主页,进入个人设置->添加公钥->添加部署公钥,将公钥复制进去测试sshsituation#使用SSH连接Gitee:ssh-Tgit@gitee.com4,给git用户添加sshkeysugittouch~/.ssh/authorized_keyschmod600~/.ssh/authorzied_keyschmod700~/.sshvim~/.ssh/authorized_keys#粘贴5中的sshkey创建git仓库,使用git-hooks实现自动部署sudomkdir-p/data/git/repo#新建目录,这里是git仓库位置sudomkdir-p/data/hexo#项目部署地址cd/data/git/repo#进入git仓库的文件夹sudogitinit--barehexoblog.git#创建一个名为blog的仓库sudovim/data/git/repo/hexoblog/.git/的hooks/post-updatepost-update的内容如下:#!/bin/bashgit--work-tree=/data/hexo--git-dir=/data/git/repo/hexoblog.gitcheckout-ftopost-更新授权:cd/data/git/repo/hexoblog/.git/hooks/sudochown-Rgit:git/data/git/repo/sudochown-Rgit:git/data/hexosudochmod+xpost-update#给它可执行权限6.配置Nginxcd/usr/local/nginx/conf/vimnginx.confnginx.conf`添加内容如下:server{listen80default_server;听[::]默认服务器;server_namewww.beierblog.com;root/data/hexo}检查Nginx语法,重新加载nginx:7.修改git用户默认的shell环境vim/etc/passwd#修改最后一行#修改/bin/bash为/usr/bin/git-shell8,解决domainname到你购买域名的提供商的控制台,将域名解析到你的服务器上。3、hexo客户端操作hexo本地端主要是在我的window系统电脑上操作,主要是初始化hexo,上传博客,修改主题配合git-hook的操作,可以提交git查看上端的实时变化网站。1.客户端配置操作系统需要安装组件配置(cpu和内存)window10git、node、npm4C16G2、build命令先安装node环境和git命令Node.js(node自带npm命令,Node.js版本必须是no低于10.13,推荐Node.js12.0及以上)Git###Node.js版本限制我们强烈建议始终安装最新版本的Hexo,以及推荐的Node.js版本。|Hexo版本|最低兼容的Node.js版本||:------------|:--------------------||6.0+|12.13.0||5.0+|10.13.0||4.1-4.2|8.10||4.0|8.6||3.3-3.9|6.9||3.2-3.3|0.12||3.0-3.1|0.10或iojs||0.0。1-2.8|0.10|这里关于node环境和git安装的教程不多。具体可以参考教程:注意npm需要配置国内镜像。命令如下:#查看npm源npmconfiggetregistry#临时修改npm源安装hexo(仅此命令有效)npm--registry=https://registry.npm.taobao.orginstall-ghexo-cli#或者永久修改npm源npmconfigsetregistryhttps://registry.npm.taobao.org3、初始化hexo1,npm全局安装hexonpminstall-ghexo-cli2,hexo初始化(hexoblog是自定义目录,可以修改自己)hexoinithexoblogcdhexoblognpminstall创建完成后,指定文件夹目录如下:.├──_config.yml├──package.json├──scaffolds├──source|├──_草稿|└──_posts└──themes目录_config.yml为配置文件。具体如何修改可以参考官方文档:configuration|hexohexo全局安装最后使用hexo相关命令,所有命令参考:command|Hexo4,开始十六进制ohexoserver启动后,访问地址:http://localhost:4000,效果如图:五、上传博客方法一:直接放文件,静态化a。将编辑好的markdownw文件放到项目目录:${项目目录}/source/_postsb。执行静态和服务启动命令:hexogenerate&hexoserver方法二:通过命令上传文章#切换到项目目录cd${项目目录}#初始化文章hexonew"博客1"#进入博客根目录cd${项目目录}/source/_posts#自己写博客1.md6.部署配置修改(用git)部署文件:deployment|Hexoa。首先安装Hexo发布插件npminstallhexo-deployer-gitb。修改部署配置cd${项目目录}vim_config.yml#找到部署配置部分#Deployment##部署文档:https://hexo.io/zh-cn/docs/one-command-deploymentdeploy:type:gitrepo:root@IP:/data/git/repo/hexoblog.git#IP填写自己服务器的IP到branch:master注意:如果服务器所在的ssh端口不是默认的22端口,会失败,但是hexo可以在不配置的情况下修改ssh的默认端口,所以如果不用git的deploy方式,建议选择其他方式7.部署到服务器#清除缓存hexoclean#生成静态页面hexogenerate#部署本地静态页面目录到云服务器hexodd至此大功告成,可以查看自己的博客了。4.切换主题教程(客户端操作)我使用主题为fluid,参考文档:fluid-dev/hexo-theme-fluid)切换步骤:#npm下载主题依赖npminstall--savehexo-theme-fluid#__config.修改yml中的配置theme:fluid#指定主题语言:zh-CN#指定语言,会影响主题显示的语言。根据需要修改和创建“关于页面”。第一次主题的“关于页面”需要手动创建:hexonewpageabout创建成功后,编辑blog目录下的/source/about/index.md,添加layout属性。修改后的文件示例如下:---title:aboutlayout:about---这里写关于页面的文字,支持Markdown,HTML5,Hexo好看的主题推荐查看我的另一篇文章:hexo博客主题推荐参考文档Hexo官网搭建教程博主个人博客网站:Qixiangpai本文原作者:Qixiangpai,一个努力分享的程序员。文章第一平台:微信公众号【编程达人】原创不易!各位小伙伴,如果觉得文章不错,不妨关注公众号,点赞(已阅),连转发三下!谢谢你们!
