【限时】1年86元,3年229元,用来建站和编程学习【限时领取阿里云2000元建站礼包】

前言

之前在服务器用WordPoress,Eblog程序搭建过个人博客,因为平时也不写什么,导致服务器过期也没续费。
这次我又续费了3年的阿里云学生机,续费后第一个想到的就是重新搭建一个自己的博客,考虑到学生机只有
1M的带宽,我特意上网查了下静态的博客程序,最后选择了Hexo来部署我的博客,域名ali6.cn是早期买的。

这里推荐阿里云免费的WordPress软件镜像,一键安装
Hexo博客主题地址大全:https://hexo.io/themes/ (总有一款你喜欢的主题)

部署总览

个人使用的环境

本地环境: Windows10(64位)
云主机:阿里云ECS(CentOS 7.3 64位)

整个部署过程

本地环境搭建(Git,NodeJs,Hexo)
云主机环境搭建(Git,Nginx)

使用git自动化部署博客

开始部署

本地Win10搭建环境

安装Git(下载安装包,打开后一直下一步到结束就行)
安装Nodejs(下载安装包,打开后一直下一步到结束就行)
安装Hexo(下面详细讲解安装步骤)

生成ssh公钥

在Win10桌面右击,点击Git Bash Here打开命令行终端,执行如下命令(直接按三次回车生成密钥)

ssh-keygen -t rsa

生成的文件默认在~/.ssh目录中,看到有id_rsa,id_rsa.pub这些文件即可,
Win10中就是 我的电脑/C盘/用户/你自己的用户名/.shh/ 就可以看到了

阿里云Centos搭建环境

安装git

yum install git

创建Git账户

adduser git

添加账户权限

chmod 740 /etc/sudoers
vim /etc/sudoers

找到

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL

添加以下内容、

git     ALL=(ALL)     ALL

保存退出并改回权限

chmod 400 /etc/sudoers

设置git账户密码

sudo passwd git

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
# 然后将win10中生成的id_rsa.pub文件中的公钥复制到authorized_keys
chmod 600 /home/git/.ssh/authorzied_keys
chmod 700 /home/git/.ssh

在本地Git终端中测试是否能免密登录git,其中SERVER为填写自己的云主机IP,执行输入yes后不用密码就说明好了

ssh -v git@SERVER

创建目录

#repo作为为Git仓库目录
mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo
#hexo作为网站根目录
mkdir /var/www/hexo
chown -R git:git /var/www/hexo
chmod -R 755 /var/www/hexo

然后创建一个裸的 Git 仓库

cd var/repo
git init --bare hexoBlog.git

创建一个新的 Git 钩子,用于自动部署
在 /var/repo/hexoBlog.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。

vim /var/repo/hexoBlog.git/hooks/post-receive

按 i 键进入文件的编辑模式,在该文件中添加两行代码(将下边的代码粘贴进去),指定 Git 的工作树(源代码)和 Git 目录(配置文件等)

#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/hexoBlog.git checkout -f

然后,按 Esc 键退出编辑模式,输入”:wq” 保存退出。

修改文件权限,使得其可执行

chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive
chmod +x /var/repo/hexoBlog.git/hooks/post-receive

到这里,我们的 Git 仓库算是完全搭建好了。下面进行 Nginx 的配置。

阿里云Centos配置Nginx

为了适合小白安装部署和后期网站服务器的扩展性,选用宝塔面板来一键部署Nginx
Linux面板6.0安装命令(暂时仅兼容Centos7.x,其它系统版本请安装5.9稳定版):

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

Linux面板6.0升级专业版

curl http://download.bt.cn/install/update6.sh|bash

安装完成后会显示面板后台地址·账号·密码。打开面板后台地址登陆面板,选择Nginx的部署方案,静静等待部署。
部署完成,点击网站-添加站点-输入域名(没有域名的输入自己的IP地址)-底部的PHP版本选择”纯静态”(其他不改
或者根据自己的习惯来改)-提交。
网站创建完成后点击设置-配置文件

server
{listen 80;# server_name 填写自己的域名server_name ali6.cn blog.ali6.cn;index index.php index.html index.htm default.php default.htm default.html;# 这里root填写自己的网站根目录,修改为/var/www/hexoroot /var/www/hexo;

-保存

点击设置-网站目录,修改为/var/www/hexo ,保存

重启宝塔面板服务

service bt restart

本地win10安装部署Hexo

我部署在D:/blog 中,你根据自己的习惯定义部署位置,不建议C盘,避免系统损坏后导致文件丢失。
打开D盘,新建blog文件夹,打开blog文件夹,按住Shift键右击鼠标,点击”在此处打开CMD窗口”。
执行如下命令

npm install hexo-cli -g
hexo init
npm install hexo server
npm install hexo-deployer-git --save#定义邮箱(更换为你的邮箱地址就行)
git config --global user.email "you@example.com"
#定义名称(更换自定义一个名称就行)
git config --global user.name "Your Name"

配置_config.yml,完成自动化部署
打开D盘,blog文件夹,打开blog文件夹,打开_config.yml, 找到deploy

deploy:type: git#server改为你的服务IP地址或解析后的域名#例如我改为repo: git@ali6.cn:/var/repo/blog.gitrepo: git@server:/var/repo/blog.gitbranch: master

保存后,即可测试部署

打开D盘,blog文件夹,按住Shift键右击鼠标,点击”在此处打开CMD窗口”
执行如下命令

hexo clean
hexo g -d

不出错显绿说明完成,打开浏览器输入你的域名或ip地址就可以看到你部署的Hexo博客了。
至此,我们已经成功部完成,并且访问自己的服务器端比访问github快多了,国外速度也是很好。

常见问题

我在部署过程中,执行 hexo d发现部署老是出错,什么权限不允许之类的,这里我们需要检查我们在上述的git操作部署是否使用了git用户操作,若是没有,需要给相应的目录更改用户组
使用


chown -R git:git /var/repo/

这条命令递归的将repo目录及其子目录用户组设置为git。
同时使用


chown -R git:git /var/www/hexo

这样即可解决此类问题

限时领取阿里云2000元优惠礼包

2021最新 阿里云Centos7+Nginx部署Hexo静态博客相关推荐

  1. 从零在阿里云服务器上部署一个Springboot博客网站

    如何租用阿里云服务器以及在服务器终配置环境 这里解释的很详细,参考链接 将博客项目打包成一个war包 这里也可以打包成jar包 mvn clean install -Dmaven.test.skip= ...

  2. python博客下载本地文件_Linux CentOS6安装Git、Node.js及Hexo静态博客安装和使用方法...

    有些时候,我们有听到或者看到某个技术很希望自己也能尝试一下,即便我们没有项目需求,但接触过后以后还可以跟别人吹嘘这个技术我玩过,具体能否玩的精通都无所谓,至少我们可以体验到其中的乐趣.这不,这几天有接 ...

  3. 阿里云centos7.2部署tomcat10

    tomcat的介绍和工作原理及阿里云centos7.2部署tomcat10 tomcat tomcat的介绍 tomcat的工作原理 tomcat的安装及配置 tomcat安装方式介绍 二进制安装 t ...

  4. 阿里云ECS服务器搭建wordpress个人博客网站【详细图文教程】

    阿里云ECS服务器搭建wordpress个人博客网站[小白专用的图文教程] 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1.购买阿里云ECS主机 2.购买域名 3.申请备案 4.环境配置 5.安 ...

  5. halo+阿里云服务器搭建属于自己的博客

    halo+阿里云服务器搭建属于自己的博客 之前在CSDN上的Blink看到有人问怎么搭建自己的博客网站,而且最近也是用halo搭建了一个博客,所以打算写个文章分享一下 为什么我会选择halo作为博客框 ...

  6. Hexo静态博客视频播放

    如何实现Hexo静态博客视频播放? 其实并不难,说一下我的想法: 博客文章一般是用Markdown来写的 Markdown 是一种用来写作的轻量级 标记语言 Markdown 优点 1.专注你的文字内 ...

  7. 从零开始使用GitHub Pages搭建Hexo静态博客

    本文主要讲述如何使用GitHub Pages/Coding/Vercel搭建Hexo静态博客,以及如何使用jsDelivr加速静态资源.如何使用LeanCloud国际版搭载博客评论,和如何使用PicG ...

  8. Vue项目上线(阿里云centos7+nginx)

    由来 自己原来做的一个网易云音乐的项目最近想把它上线,而且服务器也买了好久,因为一直没有学习Linux知识就一直搁置着,近来暑假快到了就想着捣鼓一下,项目github地址,上线地址,阿里云备案也太麻烦 ...

  9. 2021最新 阿里云服务器免费SSL证书配置方法(图文教程)

    我觉得在大家学习如何利用免费SSL证书配置网站HTTPS之前,要弄清楚开启HTTPS有什么利弊.所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...

最新文章

  1. 在Developerkit开发板上运行blink例程
  2. oracle ddl会被什么阻塞,MySQL Online DDL与DML并发阻塞关系总结
  3. 案例册下载 | 10+ 行业标杆企业实践集锦,为你开启数据驱动之旅
  4. 内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的
  5. 对ContentProvider中getType方法的一点理解
  6. 来华30载,这些都是Oracle的神来之笔……
  7. 头文件和实现文件的关系
  8. HTTP协议基本原理简介(三)
  9. mysql 优化面试题
  10. Java类和对象(重点详解)
  11. 第一台微型计算机处理器位数,微处理器芯片的位数指的是什么 - 全文
  12. postgresql修改字段名
  13. ads1115多片并联
  14. 在雨雾中穿行--张家界之旅103
  15. c语言编程学生活动安排表,C语言作业安排表(18学时-周学时2...).doc
  16. Power bi 1.2连接文本文件
  17. 音频噪声抑制(2):维纳(Wiener)滤波器篇
  18. 计算机英语这门课上后感1000,英语教师听课心得体会作文
  19. 吴恩达老师深度学习视频课笔记:总结
  20. setAttribute 和 getAttribute区别

热门文章

  1. 数据结构之冒泡排序(Java)
  2. 一文详解老薛主机如何安装zblogphp程序
  3. 前端页面出现中文乱码
  4. 搭建自己的Gitlab仓库
  5. 汇编语言常见的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF
  6. 模型5.4——斯皮尔曼spearman相关系数
  7. 据说是比尔盖茨的十句话
  8. 学习系统编程No.15【深入动静态库】
  9. js实现时间戳转换成日期
  10. python的map,filter,reduce函数