美文网首页
Hexo部署到个人服务器

Hexo部署到个人服务器

作者: NAH丶 | 来源:发表于2019-02-27 15:35 被阅读0次

Hexo是一个快速、简洁且高效的博客框架。

Hexo基于JS脚本语言结合Markdown文本解析生成静态的HTML页面;本地基于Node环境就可初始化一个带有简单主题的博客网站;Hexo官网对Hexo的介绍也比较清楚。推荐个Hexo视频讲解地址

Hexo+Github Pages 是大部分博主选择部署Hexo的方式,得到Github pages分配的IP地址然后再和自己申请的域名进行绑定;这种方式相对简单;官方和网上介绍也有很多。

将个人项目放在别人的服务器上,这种寄人篱下的感觉你懂得;并且Github服务器上的项目响应速度国内也并不是太好;所以还是决定在自己服务器上搭建Hexo。

准备工作:

  • 需要一台自己的云服务器(本站CentOS)
  • 具备生成Hexo个人博客网站计算机一台

介绍下实现的思路:

  • 浏览器访问的地址需要映射到项目的静态文件,也就是Hexo g运行后在项目中生成的public文件夹。
  • 官方文档部署介绍了,配置文件_config.yml中的deploy配置选项可以将项目在运行hexo d的时候;推送到指定的Gitlab仓库中。
  • 在个人服务器上搭建一个Git服务端-传送门
  • 域名或IP访问内容服务器上需要Nginx配置映射。

具体实现:

本地_config.yml配置

本地已生成了一个自己满意的网站后;将_config.yml中deploy配置修改为服务器自己生成的个人仓库地址;例:

deploy:
    type: git
    message: update
    repo: git@服务器IP:/srv/blog.git
    branch: master

Git脚本

成功推送到自己的仓库后;需要利用脚本将仓库的public资源拉取到一个文件夹下,作为Nginx后面在配置的映射地址;进入配置的仓库下的Hooks文件夹;例:

cd /srv/blog.git/hooks

touch post-receive

vim post-receive

写入以下脚本:

#!/bin/sh
GIT_REPO=/srv/blog.git
TMP_GIT_CLONE=/srv/tmp/blog
PUBLIC_WWW=/srv/project/blog

rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}
cp -rf ${TMP_GIT_CLONE} ${PUBLIC_WWW}

脚本内容是为了让Git仓库每次检测到push行为后,将最新的资源文件Git clone在你要访问的文件夹下。

并且需要修改文件夹的读写权限,不然是无法自动执行该脚本:

sudo chown -R root:git /srv/tmp/
chmod -R g+w /srv/tmp/

配置Nginx

Nginx怎么搭建,网上有很多。
配置修改,例:

server {                                                                               
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /srv/project/blog;    
                                                    
    server_name 域名或IP;    
                                             
    access_log  /srv/nginxlog/blog_access.log;                                    
    error_log   /srv/nginxlog/blog_error.log;                                            
    location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {                            
            root /srv/project/blog;                                    
            access_log   off;                 
            expires      1d;                            
    }                                                                              
    location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {                                   
        root /srv/project/blog;                                                        
        access_log   off;                                                          
        expires      10m;                                                          
    }                                                                              
    location / {                                                                   
        root /srv/project/blog;                                                
        if (-f $request_filename) {                                            
            rewrite ^/(.*)$  /$1 break;                                    
        }                                                                      
    }                      
}

这样本地执行hexo g;hexo d后浏览器就可以通过访问服务器进行hexo博客访问~~~
个人网站地址:https://www.onethreeone.top

相关文章

  • Hexo部署到个人服务器

    Hexo是一个快速、简洁且高效的博客框架。 Hexo基于JS脚本语言结合Markdown文本解析生成静态的HTML...

  • hexo部署到centos服务器上

    本文介绍将hexo部署到腾讯云的centos服务器上。 准备一台centos云服务器。 搭建本地hexo服务 搭建...

  • HEXO常用命令笔记

    hexo 间写 服务器 监视文件变动 完成后部署 草稿 模版 title: 使用Hexo搭建个人博客layout:...

  • hexo部署到私有云一键部署服务器

    # hexo部署到私有云一键部署服务器 > Blog服务到期,把Blog相关的都要迁移至新的服务器,然而比较尴尬的...

  • 4.服务部署

    参见:hexo官方网站Hexo 提供了快速方便的一键部署功能,让您只需一条命令就能将网站部署到服务器上。 安装 h...

  • 简单几部,从零开始搭建自己的博客网站之部署示例

    部署示例 Hexo Hexo的服务器部署相对简单,由于其对服务器要求低的特性,在网络上薅免费羊毛也较容易,但对内容...

  • 蓝猴子

    Hexo 部署命令 hexo deploy 执行报错 Hexo 发布内容到 github,执行 hexo depl...

  • Hexo部署到云服务器

    本篇内容用来讲述如何将 hexo 博客部署到腾讯云的服务器上。只要通过三步即可成功部署:云服务器端 git 的配置...

  • nginx 403错误

    在部署hexo博客时,由于使用hexo server启动经常停止,所以便想将hexo静态部署到nginx上。但在部...

  • 使用Hexo和github打造个人博客

    准备工作 了解hexo安装和github项目部署 hexo部署到github 这时如果直接hexo d 会报找不...

网友评论

      本文标题:Hexo部署到个人服务器

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