Hexo博客搭建及git自动部署至云服务器

一、安装nginx服务和配置

yum install -y nginx
systemctl start nginx
systemctl enable nginx
# nginx配置文件中添加
server{
    listen    80;
    root /home/www/website;这里填博客目录存放的地址
    server_name 这里填域名如(www.baidu.com) 如果暂时没有域名公网ip,以后有了再改回来;
    location /{
    }
}
# 创建网站目录

二、安装node、git服务和配置

1.服务安装

curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
yum install git

2.git用户创建

chmod 740 /etc/sudoers
vi /etc/sudoers
# 在root ALL=(ALL) ALL 这句话下方添加:
git ALL=(ALL) ALL
# 保存后改回权限
chmod 400 /etc/sudoers
# 设置git密码
passwd git

3.通过密钥登录传输

  • 服务端
su git
cd ~
ssh-keygen
# 此时在目录下就会有两个文件,分别是
id_rsa 和 id_rsa.pub
cp id_rsa.pub authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
# 现在我们要创建一个git的仓库,并且新建一个post-receive文件,操作如下:
cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive
# 添加以下内容
git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f
# 保存后执行
chmod +x ~/blog.git/hooks/post-receive
  • 客户端
#把服务端id_rsa复制到本地电脑 C:\Users\xxx\.ssh>下方
# xxx为Windows用户名
# 执行
git git@云服务ip或域名
# 第一次可能需要输入密码,以后就不用了。

三、本地主机的操作

1.同样安装node.js

2.安装hexo

npm config set registry https://registry.npm.taobao.org
# 然后安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g hexo-cli
# 然后我们选一个目录用来初始化博客程序G:/Blog
G:
cd Blog
hexo init
# 执行成功后安装两个插件
npm install hexo-deployer-git --save
npm install hexo-server
# 执行以下命令即可使用本地博客
hexo g
hexo s

3.配置_config.yml完成服务器的部署

# 在刚才生成hexo的目录下,找到_config.yml,打开它。找到deploy 做如下配置:
deploy:
type: git
repo: git@这里改为服务器公网IP:/home/git/blog.git       
branch: master                           
message:                                  
# 保存退出,然后尝试写一篇文章并且发布到服务器上
hexo new "Hello My First Blog"
hexo clean && hexo generate --deploy

Centos7下安装node12和npm

1. 下载12x版本

curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -

2. yum 安装

## Run `sudo yum install -y nodejs` to install Node.js 13.x and npm.
yum install -y nodejs
## You may also need development tools to build native addons:
yum install gcc-c++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install yarn

3. cnpm安装

npm install -g cnpm --registry=https://registry.npm.taobao.org