hexo博客到阿里云服务器

前言

我们在本地开发好了hexo博客后,当需要在互联网上访问的时候,我们就需要把它发布到外网上去,本文以阿里云服务器为例来讲解hexo博客时如何自动部署到阿里云服务器。

准备环境
  • 本地安装好node.js以及hexo博客初始化
  • 服务器安装Git,Nginx以及Git用户创建(阿里云默认自带Git,Nginx)
操作流程
  1. node.js安装(略)

  2. hexo博客初始化

    #全局安装hexo
    npm install -g hexo
    #初始化项目(先建一个存放项目的目录,并进入到该目录下面)
    hexo init
    #运行服务(默认端口:4000)
    hexo s
    
  3. 安装Git

    ##安装git(阿里云默认安装了Git)
    yum install git
    ## 查看git安装版本
    git --version
    
  4. 创建Git用户

    ##创建git用户
    adduser git
    ##修改git用户的权限
    chmod 740 /etc/sudoers
    ##打开文件/etc/sudoers 找到 root ALL=(ALL) ALL,在下面添加一行 git ALL=(ALL) ALL
    vim /etc/sudoers
    ##保存退出后改回权限
    chmod 400 /etc/sudoers
    ##设置git用户的密码
    sudo passwd git
    
  5. 配置SHH无密码访问

    ##在服务器端将登陆用户切换到git用户,然后在~目录(根目录)下创建.ssh文件夹,用来存放公钥
    su git
    cd ~
    ##服务端:.ssh目录不存在则新建
    mkdir .ssh
    ##服务端:authorized_keys不存在则新建
    touch authorized_keys
    chmod 600 ~/.ssh/authorzied_keys
    chmod 700 ~/.ssh
    ##客户端:本地计算机桌面右键或开始菜单中打开Git Bash Here
    ssh-key -t rsa 
    ##客户端:连续三次Enter键即可生成本地公钥文件(id_rsa.pub)和私钥文件(id_rsa),文件路径
    C:\Users\用户名\.ssh
    ##客户端:拷贝本地文件公钥文件拷贝到服务器的.ssh目录下
    ##将公钥文件追加到authorized_keys
    cat id_rsa.pub >> authorized_keys
    ##服务端:重启ssh服务
    service sshd restart
    ##客户端:测试ssh连接,如果不需要输入git用户密码则代表配置成功
    ssh git@ip
    
  6. 创建Git裸仓库

    ##切换到git用户
    su git
    ##新建裸仓库所在的目录
    mkdir repos
    ##使用–bare 参数,Git 就会创建一个裸仓库,裸仓库没有工作区,我们不会在裸仓库上进行操作,它只为共享而存在
    git init --bare blog.git
    
  7. 配置Git钩子

    ##在 hexo.git/hooks 目录下新建一个 post-receive 文件
    cd /home/git/blog.git/hooks
    ##编辑post-receive
    vim post-receive
    ##加入下面的配置文件,这样hexo发布到blog.git的文件就会自动同步到/web/blog目录下面
    #!/bin/bash
    git --work-tree=/web/blog --git-dir=/home/git/blog.git checkout -f
    
  8. 配置hexo中的发布路径

    ##根目录下找到 _congif.yml,找到deploy字段
    deploy:
      type: 'git'
      repo: 
        codeing: git@域名:/home/git/repos/blog.git,master
    
  9. 客户端发布

    ##生成静态文件并发布
    hexo g -d
    
  10. nginx配置

    ##修改nginx配置文件指向博客所在的路径/web/blog
    ##新建bolg.conf
    vim /etc/nginx/conf.d/bolg.conf
    ## 加入如下配置
     location /blog {
        root /web/blog;
        index index.html index.htm index.php;
      }
    ##重启nginx
    systemctl restart nginx
    ##测试,地址如下
    http://域名/blog
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值