阿里云部署hexo博客之旅

hexo+阿里云(centos7.x)+git

前言

由于之前的服务器到期了没续费,忘记备份转移了所以资源都没有了,还好本机有一些,之后会上传的只能重新写了

拥有个人的博客是每个程序员的想法,我也一样所以看到最近看到hexo的博客,心血来潮,查一下,hexo是一个轻量的博客框架,
对于一个没学过数据库,只自学一点mysql和php的嵌入式的同学非常方便。之前也用过LAMP+腾讯云的方式搭建过wordpress博客,这个博客有后台数据库等(搭建很简单),但死于主题的选择,换了博客,个人感觉hexo主题比较美观可以自己添加很多功能所以选择这个轻量级的博客。

安装

虽然hexo的简便,但是安装起来可是花费我好几天的时间,比wordpress难。所以写了一个小结,帮助后面的小伙伴们安装。

(1)准备工作

先从本地环境开始安装需要的配置(我的电脑是Win10 64位)

需要安装的:

你还要有github账号(没有就去申请)

下载完后需要进行配置(这里就不多讲了自己查查资料很简单的)

安装完成的截图:
在这里插入图片描述
当出现上图时表示安装好了 Next!

(2)服务器环境搭建

  • 第一步安装Git(好像Ubuntu自带git,没用过带哥们可以试试)

git --version  //如果有就不用安装直接跳过这一步
yum install git
  • 创建git用户

useradd git     //创建用户
passwd git     //设置密码
su git               //切换用户
cd /home/git/
mkdir -p projects/blog          //项目的目录
mkdir repos &&cd repos      
git init --bare blog.git           //创建一个空的仓库
cd  blog.git/hooks         
vim  post-receive                 //创建一个钩子函数

输入下面的内容:

#!/bin/bash
git --work-tree=/home/git/projects/blog --git-dir=/home/git/repos/blog.git checkout -f

输入完后修改权限,输入下面命令:

chmod +x post-receive
exit   //退出登录  
chown -R git:git /home/git/repos/blog.git   

***注:***
由于没有在etc/sudoers里面添加git ALL=(ALL) ALL,所以有的命令不能使用,只能严格按照前面的来

全部弄好后就要测试下了:
首先你要在一个空白地方建立一个你要clone下git仓库的文件夹如:B:/test然后在本地用Git进入你的文件夹,然后执行上面的命令。

git clone git@你的服务器ip:/home/git/repos/blog.git

出现下图就算成功了

在这里插入图片描述在这里插入图片描述

(3)建立ssh信任

创建公共秘钥:

git config --global user.name "yourname"      //你的github名字,如我的:jirouping
git config --global user.email "youremail"      //你的github绑定的邮箱,如你注册使用的QQ邮箱

然后不用管直接回车,next:

ssh-keygen -t rsa -C "youremail"

生成的.ssh文件,在你电脑里找,一般在C:/user/…下,不同的电脑不一样
在这里插入图片描述

看到上图就可以了接着建立信任了在本地的Git Bash上输入:

ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip
ssh git@server_ip // 测试能否登录

这时候可以连接你的服务器了是不要密码的!否则就检查下上面的步骤
当成功连接后,我们知道了以后就可以通过ssh来连接你的服务,虽然不是在root下,但还是存在问题

那我们就用可以设置限制git用户登录让他只能传输和clone文件
在服务器上操作:

cat /etc/shells           // 查看`git-shell`是否在登录方式里面,有则跳过
which git-shell         // 查看是否安装
vim /etc/shells
在后面添加上2步显示出来的路劲,通常在 /usr/bin/git-shell

然后修改下/etc/passwd/的权限,

cd /etc
vim passwd         
修改原来的:
git:x:1000:1000::/home/git:/bin/bash

改成:
git:x:1000:1000::/home/git:/usr/bin/git-shell

(4)搭建nginx服务器

  • 安装和启动nginx:
yum install nginx -y       //安装
systemctl start nginx     //这是CentOs7.x启动方式,也有其他的如:./nginx
systemctl enable nginx     //设置开机自启

装好后,就可访问你的界面了(出现什么welcome tonginx一个蓝色框就对了)注意看英文(很简单的应该都看得懂)里面有nginx的配置文件的路径记下来,一般是/etc/nginx/nginx.conf ,如果是其他版本的自己注意下页面里的内容。

  • 修改配置文件
nginx -s stop // 先停止nginx
cd /etc/nginx
vim nginx.conf

修改 root 解析路径,如下图
同时将 user 改为 root 如下图,不然nginx无法访问 /home/git/project/blog

systemctl start nginx      //启动nginx

在这里插入图片描述在这里插入图片描述

到此服务器端就算好了!!

(5)Hexo博客的安装

  • 安装hexo
    在git-for-windows下面运行下面的语句(git-for-windows版本要高于2.12)
npm install hexo-cli -g          //使用全局设置下载、安装hexo至默认的文件夹
hexo init blog                        //在当前文件夹下初始化一个blog项目,从远程git仓库拷贝
cd blog                                  //进入blog
npm install                            //安装指定模块,package.json指定
hexo g
hexo server                          //打开服务

用浏览器打开:http://localhost:4000 出现下面这样就好了
在这里插入图片描述

在package.json文件中添加npm脚本

"scripts": {
  "deploy": "hexo clean && hexo g -d",
  "start": "hexo clean && hexo g && hexo s"
}

在这里插入图片描述

然后直接用npm命令就可以本地调试和上传服务器了
本地调试:在这里插入图片描述

npm run start

修改博客主目录的配置文件:_config.yml来上传至服务器
在这里插入图片描述
在这里插入图片描述

直接照着上图填开始deploy属性里面只有type,后面的repo和branch是自己添加上去的(别慌,不要以为自己没下完整)
注:在deploy里添加东西时之间要加空格 (如:git与:之间有空格)没加就会出错,传不到服务器

然后上传服务器:

npm run deploy

浏览器访问下你的域名和ip就可以看到了,可以看一下我的搭建的:www.91change.club

原文来自:长歌|91change

祝你成功!!!

发布了7 篇原创文章 · 获赞 9 · 访问量 1510
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览