阿里云部署hexo博客之旅
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博客之旅相关推荐
- 腾讯云部署hexo博客系统
腾讯云部署hexo博客系统 1. 云服务器端配置 git 1. 安装依赖库和编译工具 安装依赖库: yum install curl-devel expat-devel gettext-devel o ...
- 腾讯云搭建hexo博客
title: 腾讯云搭建hexo博客 tags: hexo,腾讯云 文章目录 title: 腾讯云搭建hexo博客 tags: hexo,腾讯云 @[toc] 1. 腾讯云 学生认证购买 重置密码和网 ...
- 用TravisCI持续集成自动部署Hexo博客的个人实践
优秀的程序员都是不用持续集成的 前几天我面试了一个码农,连续几个专业问题他都没答上来. 尴尬之余,我问它:「你没有什么理想吗?你现在最渴望的事情是什么?」 码农转悠着大眼睛,不假思索道:「做一个持续集 ...
- 使用Travis CI自动部署Hexo博客
自从使用GitHub Pages和Hexo来发布博客之后,不得不说方便了许多,只需要几个简单的命令博客就发布了.但在不断的使用中发现每次的发布操作也挺耗时的. 我一般的操作是将平时整理好的md文件放到 ...
- 阿里云搭建个人博客(workpress)
阿里云搭建个人博客,此篇文章介绍的搭建的博客为workpress,在阿里云的官网上也有介绍怎样搭建workpress的详细教程,但此篇文章介绍的是如何通过Docker来搭建workpress,了解过D ...
- 博客除草计划(二):GitHub Pages Deploy Action 部署 hexo 博客
Github Actions 是 Github 推出的自动化构建工具,一般来说,CI / CD (持续集成 / 持续部署)都需要自己的计算资源,但 Github Actions 提供免费的计算资源,这 ...
- 在gitcafe上部署hexo博客方法介绍
最近闲着无聊,突发想搞一个自己的博客.于是就有了这个blog.在搭建的过程中也出了许多的问题,不过最后还是搭建完成了.现在我把我搭建的过程记录下来,作为备忘和分享. 0x00 首先是我自己机子的环境介 ...
- 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...
购买服务器 阿里云向学生出售优惠价格的服务器,一个月只需9.5块,具体配置看图吧 更新Ubuntu源,安装Git 1 2 3sudo apt update sudo apt upgrade sudo ...
- 部署Hexo博客到阿里云centOS7
参考文档: https://blog.csdn.net/moyanxiaoq/article/details/85221262 https://segmentfault.com/a/119000000 ...
最新文章
- a[1]和1[a]——浅谈数组下标运算符
- Deep Learning-论文翻译以及笔记
- 工作一年后,我有些感悟(写于2017年)
- 关于Oxite的教训
- c语言传入的指针无返回值,c语言 关于指针注意事项
- 【转载】web.xml中的classpath和classpath*
- kuka机器人外部轴异步_KUKA机器人外部轴标准配置
- 2018-03-01
- map.setTerrain is not a function
- python连接SQLServer数据库创建数据表同时为每个字段加上对应的中文注释信息
- 基于MATLAB语音信号的处理与滤波
- S71200PLC程序博图V14 西门子博图编写
- linux中rcf命名管道,RCF-进程间为C通讯
- viewers.js 图片查看插件使用说明-vue中引用
- 2020/09-2020/11 读书摘录
- python股票交易时间_python 判断是否股市交易日
- JS图片360度全景预览插件
- jitsi-meet开源视频会议详细讲解用法
- 3dmax火车运行制作
- 2021年全球与中国氮气服务车行业市场规模及发展前景分析
热门文章
- 为什么onenote一直在加载_超好用的笔记软件,Onenote是我的最爱
- DelayQueue使用示例之KTV包厢记时
- MetaFormer-3
- 不用任何软件,批量转化图片格式png转jpg,bat脚本实现
- 中国土地市场网爬虫——字体woff加密还原
- docker-compose 怎么只 recreate 指定的 service
- 摆脱社恐六部曲, 你可以的!
- Web应用——驾培管理系统之登录功能(作者:小圣)
- jQuery的css()如何修改背景图片
- 诺基亚Lumia920竞争力分析——对比三星Ativ S、Galaxy S3、HTC One X、Iphone5