美文网首页程序员
Hexo部署在腾讯云

Hexo部署在腾讯云

作者: solfKwolf | 来源:发表于2018-06-11 00:56 被阅读131次

    title: Hexo部署在腾讯云
    date: 2018-06-10 23:05:54
    tags: Hexo


    之前一直想把hexo部署在自己的服务器上,但是一直出问题,最后终于成功了,借此记录下来,也方便别人参考。

    Hexo

    这里简单介绍下什么是Hexo,简单来说,Hexo是基于nodejs开发的一个静态站点生成器,同时支持Markdown语法写作。

    没接触过的朋友建议可以向参考官网。尝试着自己在本地搭建。后面很多技巧也离不开API文档。

    环境搭建

    • 服务端
      讲真这里对新手是真的不友好,我也只能简单谈谈,更多的细节请自行Google。
    1. CentOS 7.3 64位(我安装的是这个系统)

    2. 搭建Git仓库
      这一步的思路:在服务器创建私有仓库,这样本地生成的Hexo博客静态文件可以发布到创建好的仓库中!一下是实现步骤:
      2.1 安装git

      yum install git
      git -v
      

      2.2 创建用户git

      groupadd git 
      adduser git -g git
      

      2.3创建authorized_key文件
      作用:当你通过ssh访问服务器时,无需输入密码

      cd /home/git
      mkdir .ssh
      chmod 700 .ssh
      touch .ssh/authorized_keys
      chmod 600 .ssh/authorized_keys
      cd /home
      chown -R git:git git
      

      注意:给权限很重要。

      2.4创建秘钥并上传到服务器
      在本地电脑输入

      ssh-keygen -t rsa -C "your_email"
      

      your_email填写你的邮箱,会在本地生成2个文件:id_rsa对应私钥,id_rsa.pub对应公钥.(路径命令行会给出的)

      将id_rsa.pub中的内容写到服务器的authorized_keys文件中。
      如果有多个客户端,那么在authorized_keys文件中,一行保存一个客户端的公钥。
      最快当然是直接WinSCP改...vim我嫌麻烦。
      2.5创建git仓库
      我们一般都把所有的git仓库放在同一个目录下,这样方便我们管理,这里我放在/home/gitrepo,

      cd /home
      mkdir gitrepo
      chown git:git gitrepo
      

      创建git仓库:blog.git

      cd gitrepo
      git init --bare blog.git
      

      最后一步,把仓库所属用户改为git

      chown -R git:git blog.git
      

      注意: 以后每创建一个新的仓库,记得最后一步操作: 修改仓库所属用户为git。
      以下是一些基本操作,你可以直接忽略跳过:
      在本地clone

      git clone git@your_gitServer_ip:/home/gitrepo/blog.git
      

      push已有的仓库

      // 以master分支示范
      git checkout master
      git remote rm origin
      git remote add origin git@your_gitServer_ip:/home/gitrepo/blog.git
      git push -u origin master
      

    3.安装nginx
    作用:web托管服务,当输入ip地址时访问的就是nginx服务器,可以把在blog.git仓库中的静态文件放在托管文件夹目录下,就能浏览到博客页面
    3.1 安装工具包
    yum install epel-release
    3.2 安装nginx
    yum install nginx
    3.3 启动
    systemctl start nginx
    3.4 开机启动
    systemctl enable nginx
    3.5 创建托管文件夹
    mkdir -p /var/www/hexo
    3.6修改权限
    chown -R $USER:$USER /var/www/hexo chmod -R 755 /var/www/hexo
    3.7 修改nginx的配置文件
    可能路径不一样,自己找吧
    vi /usr/local/nginx/conf/nginx.conf

    ```
    server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    
    root /var/www/hexo; # 需要修改的部分
    index index.html index.htm;
    ```
    重启服务器
    ```
    service nginx restart
    ```
    老规矩:能用WinSCP的话还是很简单的。
    接下来一步就是将blog.git仓库中的静态文件放到/var/www/hexo这个路径下咯!
    4 创建Git钩子
    接下来一步就是将blog.git仓库中的静态文件放到/var/www/hexo这个路径下咯!
    
    ```
    vim /home/gitrepo/blog.git/hooks/post-receive
    ```
    在该文件中添加两行代码,指定 Git 的工作树(源代码)和 Git 目录(配置文件等)。
    ```
    #!/bin/bash
    
    git --work-tree=/var/www/hexo --git-dir=/home/gitrepo/blog.git checkout -f
    ```
    
    保存并退出,给权限
    ```
    chmod +x /home/gitrepo/blog.git/hooks/post-receive
    ```
    
    到此为止,服务端的配置已经结束了。
    
    • 客户端

      这里需要安装nodejs,npm,hexo和git,不详细些网上有很多这个教程

    1. 修改本地配置文件_config.yml中deploy
    deploy:
        type: git
        repo: git@云服务器的IP地址:/home/gitrepo/blog.git
        branch: master
    

    注意:要安装 npm install hexo-deployer-git --save

    1. 部署:
    hexo g
    hexo d
    

    搞定收工!

    我的博客:http://www.liuzongjie.com

    相关文章

      网友评论

        本文标题:Hexo部署在腾讯云

        本文链接:https://www.haomeiwen.com/subject/jgqceftx.html