进过上一篇《树莓派搭建私人服务器》,我们已经有一个私人服务器了,现在需要做点什么实际事情了,先搭一个博客分享自己的经验吧。

相关文章:
1.《树莓派搭建私人服务器》
(http://www.uthinks.xyz/2017/01/23/RaspberryPi-init/)

准备工作

  1. 环境已经初始化的树莓派
  2. Git服务器,我用的是自己搭建的Git服务器,当然也可以使用GitHud
  3. Nginx
  4. Hexo,我朋友已经写过关于Hexo详细的文档,这里就不在赘述。
    (http://luckykun.com/work/2016-04-23/heoll-hexo.html)

Git服务器搭建

  1. 首先在树莓派上安装Git,同时确保ssh已经正确安装并且默认开启

    sudo apt-get install wget git-core
  2. 添加git用户和组,其实就是Linux普通用户就行

    adduser git
    passwd git
  3. 切换到git用户,增加一个新的Git仓库

    cd /home/git
    mkdir blog
    cd blog
    git init --bare
  4. 本地把blog项目迁移下来, 刚刚初始化的仓库是没有任何分支的,后面提交代码的时候会自动生成一个master分支。后面hexo直接在该目录下搭建

    git clone git@[域名 | IP]:/home/git/blog
  5. 至此,一个自己的git服务器已经搭建完成

附录

  1. 初始化空Git仓库git init 和 git init –bare有什么区别
    (http://blog.csdn.net/feizxiang3/article/details/8065506)

Nginx安装配置

  1. 首先安装nginx

    sudo apt-get install nginx
  2. 修改nginx配置文件 /etc/nginx/nginx.conf

    user www-data;
    worker_processes 4;
    pid /run/nginx.pid; events {
    worker_connections 768;
    # multi_accept on;
    } http {
    server {
    listen 8081;
    # 这个目录是hexo生成的页面路径,后面提交到git的页面同步到这个目录下
    location / {
    root /home/bill/blog/public;
    index index.html;
    } # 这个配置是静态文件:图片、文件下载路径,有另外一个git仓库管理,一样同步到对应目录下
    location ~ ^/resource/picture/(.*)? {
    alias /home/bill/resource/picture/$1 ;
    add_header Cache-control max-age=7200,s-maxage=3600;
    }
    } ##
    # Basic Settings
    ## sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off; # server_names_hash_bucket_size 64;
    # server_name_in_redirect off; include /etc/nginx/mime.types;
    default_type application/octet-stream; ##
    # SSL Settings
    ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on; ##
    # Logging Settings
    ## access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log; ##
    # Gzip Settings
    ## gzip on;
    gzip_disable "msie6"; # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ##
    # Virtual Host Configs
    ## include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    }
  3. 启动nginx

    sudo /etc/init.d/nginx start | restart | stop

博客的发布

环境已经搭建完成了,如何实现把文件提交到Git自动同步到nginx目录下完成发布呢?

1.如果你使用的GitHud的话这个问题很简单,这里就不在赘述。参考我朋友的hexo教程
(http://luckykun.com/work/2016-04-23/heoll-hexo.html)

2.现在说说我的方法,其实也很简单

  • 编写一个简单的git pull脚本

    import os

    if name == ‘main‘:

    #blog分支同步
    os.chdir('/home/bill/blog/')
    os.system('git pull origin master') #静态文件同步
    os.chdir('/home/bill/resource/')
    os.system('git pull origin master')
  • 定时任务配置 crontab -e

    */1 * * * * /usr/bin/python /home/bill/deploy/deploy.py

如果我的文章对你有帮助,或者有什么疑问。欢迎在下方留言,一起交流讨论

基于Hexo + Git + Nginx的博客发布的更多相关文章

  1. 基于 Hexo 从零开始搭建个人博客(二)

    阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一). 原文链接:基于 Hexo 从零开始搭建个人博客(二) 前言 博客搭建过程遇到任何问题,优先在本页面搜索, ...

  2. Mac上基于hexo+GitHub搭建个人博客(一)

    原文地址: http://fanjiajia.cn/2018/11/23/Mac%E4%B8%8A%E5%9F%BA%E4%BA%8Ehexo+GitHub%E6%90%AD%E5%BB%BA%E4% ...

  3. 基于 Hexo 从零开始搭建个人博客(五)

    阅读本篇前,请先阅读前几篇文章: 基于 Hexo 从零开始搭建个人博客(一) 基于 Hexo 从零开始搭建个人博客(二) 基于 Hexo 从零开始搭建个人博客(三) 基于 Hexo 从零开始搭建个人博 ...

  4. 基于Hexo和Github搭建博客

    搭建自己的个人博客. 准备工作 确保电脑需要已下载安装node和npm.查看安装是否成功,windows只需在命令行输入以下两条命令即可. 1 2 $ node -v $ npm -v 安装hexo ...

  5. 【教程向】——基于hexo+github搭建私人博客

    前言 1.github pages服务生成的全是静态文件,访问速度快: 2.免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 3.可以随意绑定自己的域名,不仔细看的话根本看 ...

  6. 2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈

    本文转载于:奥怪的小栈 这篇文章告诉你如何在2019快速上手搭建一个像我一样的博客:基于HEXO+Github搭建.并完成SEO优化,打造一个炫酷博客. 本站基于HEXO+Github搭建.所以你需要 ...

  7. Hexo博客系列(三)-将Hexo v3.x个人博客发布到GitLab Pages

    [原文链接]:https://www.tecchen.xyz/blog-hexo-env-03.html 我的个人博客:https://www.tecchen.xyz,博文同步发布到博客园. 由于精力 ...

  8. 基于Hexo搭建自己的博客主页

    搭建自己博客分为两类,一种是托管到github上的,以hexo为代表,另一种是需要自己购买服务器,主要使用wordpress框架.有不花钱的效果也很不错,就没必要自己再购买服务器了,下边主要介绍下使用 ...

  9. 基于.NET Core开发的个人博客发布至CentOS小计

    早些时候,使用 .NET Framework 开发网站,只能部署在 Windows 服务器上面,近两年 .NET Core 如火如荼,乘此机会赶紧上车,最近将自己利用 .NET Core 开发的个人博 ...

随机推荐

  1. MATLAB GUI制作快速入门

    创建空白的GUI在MATLAB命令行中输入guide新建GUI,选择Blank GUI (Default),点击确定后就生成了一个空白的GUI制作界面,如下图所示 图1制作GUI的具体过程简单加法器将 ...

  2. 【搜索】P1468 派对灯 Party Lamps

    P1468 派对灯 Party Lamps 我们来分析一下对灯的操作 1.对所有灯的,这时吧所有灯看成一个整体 2.奇偶数的操作,这时可以把每两个数看成一个循环节 3.对3X+ 1的操作,这时可以把每 ...

  3. xlsx 读取文件日期问题

    xlsx 的版本:0.13.5,可以取到日期 xlsx 的版本:0.14.3,取到的日期转为数字了,没有找到方法转为日期, 可以开启   cellDates: true,但是这个时区不对, dateN ...

  4. 日常[splay]:水题记——营业额统计

    没错这就是让我深陷splay之中的罪魁祸首,昨天打了一下午结果发现是玄学错误的那个 人生第一棵splay平衡树 题目大意:求一段序列,小于当前元素的最大值和大于当前元素的最小值.从该元素前面的元素找. ...

  5. bzoj3774 最优选择

    题目描述: 小N手上有一个N*M的方格图,控制某一个点要付出Aij的代价,然后某个点如果被控制了,或者他周围的所有点(上下左右)都被控制了,那么他就算是被选择了的.一个点如果被选择了,那么可以得到Bi ...

  6. spoj-TSUM Triple Sums

    题目描述 题解: 很吊的容斥+$FFT$,但是并不难. 首先,由于有重复,我们要容斥. 怎么办? 记录三个多项式, 只取一个:$w1$; 相同物体拿两个:$w2$; 相同物体拿三个:$w3$; 然后答 ...

  7. js多维数组扁平化

    数组扁平化,就是将多维数组碾平为一维数组,方便使用. 一:例如,一个二维数组 var arr = ['a', ['b', 2], ['c', 3, 'x']],将其扁平化: 1.  通过 apply ...

  8. ubuntu卸载编译安装的软件

    cd 源代码目录 make clean ./configure make make uninstall

  9. 阿里云服务器ecs配置之安装mysql

    安装mysql数据库    1.安装工作:        下载 mysql 源安装包             [root@ming ~]# wget http://dev.mysql.com/get/ ...

  10. POJ 2349 Arctic Network(贪心 最小生成树)

    题意: 给定n个点, 要求修p-1条路使其连通, 但是现在有s个卫星, 每两个卫星可以免费构成连通(意思是不需要修路了), 问修的路最长距离是多少. 分析: s个卫星可以代替s-1条路, 所以只要求最 ...