一个爱学习,知上进,善沟通,重细节,懂感恩的人

0%

搭建云上hexo博客

上一篇已经讲了如何搭建本地hexo,这一篇讲的是如何搭建云上hexo,
不需要本地搭建环境,只需要拉取git编写md,push到云上git仓库就可以浏览博客了
  1. 服务器准备

  • 阿里云

    CentOS 7.6 64位

  1. git用户

  • 创建

    1
    $ sudo adduser git
  • 增加git执行sudo权限,并可以免密运行

    1
    $ sudo visudo

    root ALL=(ALL) ALL下增加git ALL=(ALL) ALL
    #%wheel ALL=(ALL) NOPASSWD: ALL下增加%git ALL=(ALL) NOPASSWD: ALL
    切换到git用户,以下操作全在git用户下操作

  1. 创建git仓库

  • 安装git

    1
    2
    3
    $ sudo yum install git
    $ sudo git config --global user.email "你的邮件"
    $ sudo git config --global user.name "你的名字"
  • SSH密钥

    1
    2
    3
    4
    5
    6
    $ cd ~
    $ ssh-keygen -t rsa
    $ sudo chmod 700 /home/git/.ssh/
    $ cd .ssh
    $ cp id_rsa.pub authorized_keys
    $ sudo chmod 600 /home/git/.ssh/authorized_keys
  • 创建仓库

    1
    2
    3
    4
    $ cd /usr/local
    $ sudo mkdir blog.git
    $ sudo chown -R git:git blog.git
    $ git init --bare blog.git
  1. 安装node.js

  • 检查所有可更新软件

    1
    $ sudo yum update
  • 安装

    1
    2
    $ sudo yum install nodejs
    $ sudo yum install npm
  • 更换为淘宝镜像

    1
    $ sudo npm config set registry https://registry.npm.taobao.org
  • 查看配置是否生效

    1
    $ sudo npm config list
  • 安装更新工具N

    1
    $ sudo npm install n -g
  • 查看更新进度

    1
    $ sudo n stable
  • 查看node版本

    1
    $ node -v
  1. 安装hexo

    • 安装
    1
    2
    $ sudo npm install -g hexo-cli
    $ sudo npm install --save hexo-deployer-git
    • 初始化git与hexo
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ cd /usr
    $ sudo mkdir xixiwan
    $ cd xixiwan
    $ sudo mkdir hexo
    $ sudo chown -R git:git hexo
    $ cd hexo
    $ git init
    $ git remote add origin git@你的服务器IP地址:/usr/local/blog.git
    $ git checkout -b master
    $ hexo init
    • 测试运行
    1
    $ hexo s -p 8081

    打开浏览器输入http://你的服务器IP地址:8081,可以看到hexo博客首页
    如果打开不了,需要配置阿里云网络与安全>安全组>配置规则>添加安全组规则

    • 修改配置
    1
    $ vi _config.yml
    1
    2
    3
    4
    deploy:
    type: git
    repository: git@你的服务器IP地址:/usr/local/blog.git
    branch: master
    • 提交仓库
    1
    2
    3
    $ git add .
    $ git commit -m "初始化hexo"
    $ git push origin master
  2. 设置git钩子

    • 修改配置
    1
    $ vi blog.git/hooks/post-receive
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/bin/
    cd /usr/xixiwan/hexo
    unset GIT_DIR
    git pull
    hexo clean
    hexo g
    hexo d

    rm -rf /var/www/blog/html/*
    cp -rf /usr/xixiwan/hexo/public/* /var/www/blog/html
  3. 安装nginx

    • 安装

    我用的root账户

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ yum install -y pcre pcre-devel
    $ yum install -y zlib zlib-devel
    $ yum install gcc-c++
    $ yum install -y openssl openssl-devel
    $ wget -c https://nginx.org/download/nginx-1.17.5.tar.gz
    $ tar -zxvf nginx-1.14.0.tar.gz
    $ cd nginx-1.17.5
    $ ./configure
    $ make
    $ make install
    $ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    • 开机启动
    1
    $ vi /etc/rc.local

    增加一行/usr/local/nginx/sbin/nginx

  4. 配置nginx hexo路径

    • 创建目录
    1
    2
    3
    $ mkdir -p /var/www/blog/html
    $ chown -R git:git /var/www/blog/html
    $ chmod -R 755 /var/www
    • 配置nginx
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    server {
    listen 80;
    server_name localhost;

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
    root /var/www/blog/html;
    index index.html index.htm;
    }

    #error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    }
    • 重启nginx
    1
    2
    $ cd /usr/local/nginx/sbin
    $ ./nginx -s reload
  5. 拉取git代码

    任意一台机器拉取git@你的服务器IP地址:/usr/local/blog.git编写source>_posts目录下面的md就大功告成了

坚持原创技术分享,您的支持将鼓励我继续创作!