hexo+阿里云(centos7.x)+git
前言
由于之前的服务器到期了没续费,忘记备份转移了所以资源都没有了,还好本机有一些,之后会上传的只能重新写了
拥有个人的博客是每个程序员的想法,我也一样所以看到最近看到hexo的博客,心血来潮,查一下,hexo是一个轻量的博客框架,
对于一个没学过数据库,只自学一点mysql和php的嵌入式的同学非常方便。之前也用过LAMP+腾讯云的方式搭建过wordpress博客,这个博客有后台数据库等(搭建很简单),但死于主题的选择,换了博客,个人感觉hexo主题比较美观可以自己添加很多功能所以选择这个轻量级的博客。
安装
虽然hexo的简便,但是安装起来可是花费我好几天的时间,比wordpress难。所以写了一个小结,帮助后面的小伙伴们安装。
(1)准备工作
先从本地环境开始安装需要的配置(我的电脑是Win10 64位)
需要安装的:
Git:https://git-/
Notepad++:你喜欢用什么就用什么(记事本也行但是后面改东西时会很乱)这里我推荐用Notepad++
Node.js:/download/
npm:npm是node的模块管理工具,淘宝镜像地址(/)
你还要有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 reposgit init --bare blog.git //创建一个空的仓库cd blog.git/hooks vim post-receive //创建一个钩子函数
输入下面的内容:
#!/bin/bashgit --work-tree=/home/git/projects/blog --git-dir=/home/git/repos/blog.git checkout -f
输入完后修改权限,输入下面命令:
chmod +x post-receiveexit //退出登录 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名字,如我的:jiroupinggit 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_ipssh 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 /etcvim 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启动方式,也有其他的如:./nginxsystemctl enable nginx//设置开机自启
装好后,就可访问你的界面了(出现什么welcome tonginx一个蓝色框就对了)注意看英文(很简单的应该都看得懂)里面有nginx的配置文件的路径记下来,一般是/etc/nginx/nginx.conf ,如果是其他版本的自己注意下页面里的内容。
修改配置文件
nginx -s stop // 先停止nginxcd /etc/nginxvim nginx.conf修改 root 解析路径,如下图同时将 user 改为 root 如下图,不然nginx无法访问 /home/git/project/blogsystemctl 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 //进入blognpm install //安装指定模块,package.json指定hexo ghexo 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