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

前言

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

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

安装

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

(1)准备工作

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

需要安装的:

  • Git:https://git-scm.com/

  • Notepad++:你喜欢用什么就用什么(记事本也行但是后面改东西时会很乱)这里我推荐用Notepad++

  • Node.js:http://nodejs.cn/download/

  • npm:npm是node的模块管理工具,淘宝镜像地址(http://npm.taobao.org/)

你还要有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/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                                  //进入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

祝你成功!!!

阿里云部署hexo博客之旅相关推荐

  1. 腾讯云部署hexo博客系统

    腾讯云部署hexo博客系统 1. 云服务器端配置 git 1. 安装依赖库和编译工具 安装依赖库: yum install curl-devel expat-devel gettext-devel o ...

  2. 腾讯云搭建hexo博客

    title: 腾讯云搭建hexo博客 tags: hexo,腾讯云 文章目录 title: 腾讯云搭建hexo博客 tags: hexo,腾讯云 @[toc] 1. 腾讯云 学生认证购买 重置密码和网 ...

  3. 用TravisCI持续集成自动部署Hexo博客的个人实践

    优秀的程序员都是不用持续集成的 前几天我面试了一个码农,连续几个专业问题他都没答上来. 尴尬之余,我问它:「你没有什么理想吗?你现在最渴望的事情是什么?」 码农转悠着大眼睛,不假思索道:「做一个持续集 ...

  4. 使用Travis CI自动部署Hexo博客

    自从使用GitHub Pages和Hexo来发布博客之后,不得不说方便了许多,只需要几个简单的命令博客就发布了.但在不断的使用中发现每次的发布操作也挺耗时的. 我一般的操作是将平时整理好的md文件放到 ...

  5. 阿里云搭建个人博客(workpress)

    阿里云搭建个人博客,此篇文章介绍的搭建的博客为workpress,在阿里云的官网上也有介绍怎样搭建workpress的详细教程,但此篇文章介绍的是如何通过Docker来搭建workpress,了解过D ...

  6. 博客除草计划(二):GitHub Pages Deploy Action 部署 hexo 博客

    Github Actions 是 Github 推出的自动化构建工具,一般来说,CI / CD (持续集成 / 持续部署)都需要自己的计算资源,但 Github Actions 提供免费的计算资源,这 ...

  7. 在gitcafe上部署hexo博客方法介绍

    最近闲着无聊,突发想搞一个自己的博客.于是就有了这个blog.在搭建的过程中也出了许多的问题,不过最后还是搭建完成了.现在我把我搭建的过程记录下来,作为备忘和分享. 0x00 首先是我自己机子的环境介 ...

  8. 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...

    购买服务器 阿里云向学生出售优惠价格的服务器,一个月只需9.5块,具体配置看图吧 更新Ubuntu源,安装Git 1 2 3sudo apt update sudo apt upgrade sudo ...

  9. 部署Hexo博客到阿里云centOS7

    参考文档: https://blog.csdn.net/moyanxiaoq/article/details/85221262 https://segmentfault.com/a/119000000 ...

最新文章

  1. a[1]和1[a]——浅谈数组下标运算符
  2. Deep Learning-论文翻译以及笔记
  3. 工作一年后,我有些感悟(写于2017年)
  4. 关于Oxite的教训
  5. c语言传入的指针无返回值,c语言 关于指针注意事项
  6. 【转载】web.xml中的classpath和classpath*
  7. kuka机器人外部轴异步_KUKA机器人外部轴标准配置
  8. 2018-03-01
  9. map.setTerrain is not a function
  10. python连接SQLServer数据库创建数据表同时为每个字段加上对应的中文注释信息
  11. 基于MATLAB语音信号的处理与滤波
  12. S71200PLC程序博图V14 西门子博图编写
  13. linux中rcf命名管道,RCF-进程间为C通讯
  14. viewers.js 图片查看插件使用说明-vue中引用
  15. 2020/09-2020/11 读书摘录
  16. python股票交易时间_python 判断是否股市交易日
  17. JS图片360度全景预览插件
  18. jitsi-meet开源视频会议详细讲解用法
  19. 3dmax火车运行制作
  20. 2021年全球与中国氮气服务车行业市场规模及发展前景分析

热门文章

  1. 为什么onenote一直在加载_超好用的笔记软件,Onenote是我的最爱
  2. DelayQueue使用示例之KTV包厢记时
  3. MetaFormer-3
  4. 不用任何软件,批量转化图片格式png转jpg,bat脚本实现
  5. 中国土地市场网爬虫——字体woff加密还原
  6. docker-compose 怎么只 recreate 指定的 service
  7. 摆脱社恐六部曲, 你可以的!
  8. Web应用——驾培管理系统之登录功能(作者:小圣)
  9. jQuery的css()如何修改背景图片
  10. 诺基亚Lumia920竞争力分析——对比三星Ativ S、Galaxy S3、HTC One X、Iphone5