Hexo + GitEE
<p>Hexo 是使用的比较多的博客框架了,我也尝试自己搭一下,做一些基础功能的测试。之所以没有使用 GitHub 而选择了码云,一是我有自己的 VPS 不需要使用 GitHub Pages ,所以本文也没有关于如何使用 GitHub Pages 的教程;二是 GitHub 上私有仓库是收费的,码云上面能创建免费的私有仓库。也有人选择使用 Docker 来创建博客环境,做镜像备份,这里没有使用此方案,各有所好吧!</p><p>主服务器系统版本与内核版本:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_1" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_1_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">[<span class="hljs-symbol">root@dbn-japan ~]# cat /etc/redhat-release CentOS Linux release <span class="hljs-number">7.5<span class="hljs-number">.1804 (Core) [<span class="hljs-symbol">root@dbn-japan ~]# uname -r <span class="hljs-number">3.10<span class="hljs-number">.0<span class="hljs-number">-862.3<span class="hljs-number">.2.el7.x86_64</span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>测试服务器系统版本与内核版本:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_2" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_2_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">[<span class="hljs-symbol">root@host ~]# cat /etc/redhat-release CentOS Linux release <span class="hljs-number">7.3<span class="hljs-number">.1611 (Core) [<span class="hljs-symbol">root@host ~]# uname -r <span class="hljs-number">4.10<span class="hljs-number">.4<span class="hljs-number">-1.el7.elrepo.x86_64</span></span></span></span></span></span></span></div>
</div>
</div>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_3" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_3_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">yum <span class="hljs-keyword">install -y wget</span></div>
</div>
</div>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_4" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_4_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-comment"># 下载nodejs最新的bin包 wget https://nodejs.org/dist/v10.<span class="hljs-number">13.0/<span class="hljs-keyword">node<span class="hljs-title">-v10.<span class="hljs-number">13.0-linux-x64.tar.xz <span class="hljs-comment"># 解压 xz -d <span class="hljs-keyword">node<span class="hljs-title">-v10.<span class="hljs-number">13.0-linux-x64.tar.xz tar -xf <span class="hljs-keyword">node<span class="hljs-title">-v10.<span class="hljs-number">13.0-linux-x64.tar <span class="hljs-comment"># 移动目录 mv <span class="hljs-keyword">node<span class="hljs-title">-v10.<span class="hljs-number">13.0-linux-x64 /usr/local/nodejs <span class="hljs-comment"># 部署文件 ln -s /usr/local/nodejs/bin/<span class="hljs-keyword">node <span class="hljs-title">/usr/bin/<span class="hljs-keyword">node <span class="hljs-title">ln -s /usr/local/nodejs/bin/npm /usr/bin/npm</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>可以去官方网站下载,我这里使用的类型为:Linux Binaries (x64)</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_5" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_5_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">[<span class="hljs-symbol">root@dbn-japan packages]# node -v v10<span class="hljs-number">.13<span class="hljs-number">.0 [<span class="hljs-symbol">root@dbn-japan packages]# npm -v <span class="hljs-number">6.4<span class="hljs-number">.1</span></span></span></span></span></span></div>
</div>
</div>
<p>如果输出了版本号,说明安装成功。</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_6" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_6_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">yum <span class="hljs-keyword">install -y git</span></div>
</div>
</div>
<p>初始化设置:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_7" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_7_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">git<span class="hljs-built_in"> config --global user.email <span class="hljs-string">"dbnuo@foxmail.com" git<span class="hljs-built_in"> config --global user.name <span class="hljs-string">"BNDong"</span></span></span></span></div>
</div>
</div>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_8" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_8_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">npm install -g hexo-<span class="hljs-keyword">cli</span></div>
</div>
</div>
<p>安装后尝试执行命令: <span class="cnblogs_code">hexo </span></p>
<p>如果出现下面的输出,按我下面的方法解决,没有则跳过。</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_9" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_9_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-meta"># hexo -bash: hexo: command <span class="hljs-literal">not found</span></span></span></div>
</div>
</div>
<p>编辑环境变量文件: <span class="cnblogs_code">vim /etc/profile ,在文件末尾增加下面设置:</span></p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_10" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_10_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">export PATH=<span class="hljs-variable">$PATH<span class="hljs-symbol">:/usr/local/nodejs/lib/node_modules/hexo-cli/bin</span></span></div>
</div>
</div>
<p>刷新环境变量: <span class="cnblogs_code">source /etc/profile ,这时再运行命令 <span class="cnblogs_code">hexo 就会有正确的输出了。</span></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181112223524269-603079356.png"></p>
<p>创建新的分支:sources</p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181112223651823-1038516991.png"></p>
<ul>
<li><strong>master</strong>:存放 Hexo 编译生成的静态资源。</li>
<li><strong>sources</strong>:存放源文件,用来备份博客。</li>
</ul>
<p>运行下面的命令创建 SSH Key,邮箱部分改成你创建账户时候的邮箱:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_11" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_11_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-meta"># ssh-keygen -t rsa -C "dbnuo@foxmail.com" Generating <span class="hljs-keyword">public/<span class="hljs-keyword">private rsa <span class="hljs-keyword">key pair. Enter file <span class="hljs-keyword">in which <span class="hljs-keyword">to save the <span class="hljs-keyword">key (/root/.ssh/id_rsa): <span class="hljs-meta"># 目录 Enter passphrase (empty <span class="hljs-keyword">for no passphrase): <span class="hljs-meta"># 输入密码,可回车跳过 Enter same passphrase again: <span class="hljs-meta"># 再次输入密码</span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>查看公开密钥:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_12" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_12_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">cat ~/.ssh/id_rsa<span class="hljs-selector-class">.pub </span></div>
</div>
</div>
<p> 将公开密钥添加至码云。</p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181112223849791-551396003.png"></p>
<p>跳转至网站根目录,克隆项目至本地:</p>
<div class="cnblogs_code">
<p>git clone https://gitee.com/dbnuo/bnd-hexo.git</p>
</div>
<p>跳转至拉取的项目目录:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_13" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_13_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-comment"># 创建 hexo 目录 mkdir hexo <span class="hljs-comment"># 进入 hexo 目录 cd hexo/ <span class="hljs-comment"># 初始化 hexo 目录 hexo init npm <span class="hljs-keyword">install <span class="hljs-comment"># 安装插件 npm <span class="hljs-keyword">install hexo-generator-<span class="hljs-keyword">index <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-<span class="hljs-keyword">archive <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-<span class="hljs-keyword">category <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-tag <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-<span class="hljs-keyword">server <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-git <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-heroku <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-rsync <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-openshift <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-renderer-marked <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-renderer-stylus <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-feed <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-sitemap <span class="hljs-comment">--save</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>先看文件夹里都有什么:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_14" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_14_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-comment"># ls -a . .. _<span class="hljs-built_in">config.yml .gitignore node_modules package.<span class="hljs-keyword">json package-lock.<span class="hljs-keyword">json <span class="hljs-keyword">scaffolds source themes</span></span></span></span></span></span></div>
</div>
</div>
<ul>
<li><span style="color: rgba(0, 128, 0, 1)">_config.yml:站点的配置文件,需要备份;</span></li>
<li><span style="color: rgba(0, 128, 0, 1)">themes:主题文件夹,需要备份;</span></li>
<li><span style="color: rgba(0, 128, 0, 1)">source:博客文章的 .md 文件,需要备份;</span></li>
<li><span style="color: rgba(0, 128, 0, 1)">scaffolds:文章的模板,需要备份;</span></li>
<li><span style="color: rgba(0, 128, 0, 1)">package.json:安装包的名称,需要备份;</span></li>
<li><span style="color: rgba(0, 128, 0, 1)">.gitignore:限定在 push 时哪些文件可以忽略,需要备份;</span></li>
<li><span style="color: rgba(128, 0, 0, 1)">.git:主题和站点都有,标志这是一个 git 项目,不需要备份;</span></li>
<li><span style="color: rgba(128, 0, 0, 1)">node_modules:是安装包的目录,在执行 npm install 的时候会重新生成,不需要备份;</span></li>
<li><span style="color: rgba(128, 0, 0, 1)">public:是 hexo g 生成的静态网页,不需要备份;</span></li>
<li><span style="color: rgba(128, 0, 0, 1)">.deploy_git:同上,hexo g 也会生成,不需要备份;</span></li>
<li><span style="color: rgba(128, 0, 0, 1)">db.json:文件,不需要备份。</span></li>
</ul>
<p>基础配置可以参考官方文档的配置说明。这里需要在末尾添加 Git 的配置:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_15" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_15_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-string">...deploy: <span class="hljs-attr"> type: <span class="hljs-string">git <span class="hljs-attr"> repo: <span class="hljs-attr">https://gitee.com/dbnuo/bnd-hexo.git <span class="hljs-attr"> branch: <span class="hljs-string">master <span class="hljs-attr"> message: <span class="hljs-string">'web updata: <span class="hljs-template-variable">{{now("YYYY-MM-DD HH/mm/ss")}}'</span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>运行命令: <span class="cnblogs_code">hexo cl && hexo g -d 输入用户名和密码后,页面代码就会提交至码云项目中。</span></p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181113103505392-1803344108.png"></p>
<p>将网站目录指定至 hexo 的 public 文件夹中,访问网站:</p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181113103622833-1181993845.png"></p>
<p>跳转至项目目录 bnd-hexo:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_16" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_16_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr">git checkout -<span class="hljs-keyword">b sources <span class="hljs-comment"># 创建切换分支 git push <span class="hljs-keyword">origin sources <span class="hljs-comment"># 提交代码至分支</span></span></span></span></div>
</div>
</div>
<p>提交至码云项目分支:</p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181113105109879-1083473093.png"></p>
<p>至此搭建完毕,代码也备份到项目中了。为了测试备份恢复,我新建了个文章 test 并提交进行测试。</p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181113105556438-1191039737.png"></p>
<p>切换至测试服务器,基础的安装和设置可以参考上面的流程。</p>
<p>跳转至网站的根目录:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_17" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_17_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-comment"># 拉取项目至本地 git clone https://gitee.com/dbnuo/bnd-hexo.git <span class="hljs-comment"># 跳转至目录 cd bnd-hexo <span class="hljs-comment"># 创建分支并拉取 git checkout -b sources origin/sources <span class="hljs-comment"># 跳转至源文件目录 cd hexo <span class="hljs-comment"># 初始安装 npm <span class="hljs-keyword">install npm <span class="hljs-keyword">install hexo-generator-<span class="hljs-keyword">index <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-<span class="hljs-keyword">archive <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-<span class="hljs-keyword">category <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-tag <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-<span class="hljs-keyword">server <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-git <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-heroku <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-rsync <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-deployer-openshift <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-renderer-marked <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-renderer-stylus <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-feed <span class="hljs-comment">--save npm <span class="hljs-keyword">install hexo-generator-sitemap <span class="hljs-comment">--save</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>执行完毕,hexo 就恢复了,可以正常操作了。</p>
<p>至此两台服务器都对一个项目库进行操作,可以说是多终端了,我在测试服务器新建了个文章: <span class="cnblogs_code">hexo new post "test2" </span></p>
<p>创建成功后提交上传。</p>
<p>切换回主服务器:</p>
<div class="cnblogs_code"> </div>
<div class="cnblogs_code">
<div id="mCSB_18" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none">
<div id="mCSB_18_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position: relative; top: 0; left: 0; width: 911px" dir="ltr"><span class="hljs-comment"># 跳转至项目目录 <span class="hljs-attr">cd <span class="hljs-string">bnd-hexo <span class="hljs-comment"># 拉取项目 <span class="hljs-attr">git <span class="hljs-string">pull origin sources <span class="hljs-comment"># 跳转至源文件目录 <span class="hljs-attr">cd <span class="hljs-string">hexo/ <span class="hljs-comment"># 重新编译 <span class="hljs-attr">hexo <span class="hljs-string">cl && hexo g -d</span></span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
<p>再访问网站:</p>
<p><img src="https://img2018.cnblogs.com/blog/1065454/201811/1065454-20181113114656020-1660436245.png"></p>
<p>看到这里出现了文章 test2 ,至此多终端编辑操作成功。</p><br><br>
来源:https://www.cnblogs.com/bgms/p/12864910.html
頁:
[1]