美文网首页
博客升级HTTPS方案

博客升级HTTPS方案

作者: howie6879 | 来源:发表于2018-05-26 18:12 被阅读52次

    很早就想将博客升级为HTTPS,在心中也确立了方案,步骤也很简单:

    • 博文上传至Git
    • Caddy结合Webhook自动更新,顺便上HTTPS

    流程很简单,麻烦在于需要Caddy以及Webhook的设置,然后一台服务器也是必须的,这里本人推荐使用搬瓦工的年付19.9$方案,购买之后,选择CentOS7,安装后进入shell:

    yum install git vim wget
    # 创建用户
    useradd howie
    # 设定密码
    passwd username
    # 添加 sudo 权限
    visudo
    # 找到 
    root  ALL=(ALL)   ALL 
    # 添加 
    howie  ALL=(ALL)   ALL
    # 用刚创建的用户名登录
    # 安装Caddy以及插件,这里我列出了我需要的插件 各位酌情选择
    curl https://getcaddy.com | bash -s personal http.git,http.realip,http.ratelimit,http.ipfilter
    

    首先是从git拉取代码,因为我们还是希望服务器可以自动从git远程拉取代码并且自动更新:

    mkdir git
    cd git
    git clone https://github.com/howie6879/howie6879.github.io.git
    

    然后是编写Caddyfile,这是Caddy的配置文件,我将配置文件写在/etc/caddy/Caddyfile,贴上我的配置内容:

    cd ~
    mkdir /etc/caddy/
    vim /etc/caddy/Caddyfile
    # 输入
    www.howie6879.cn {
        root /home/howie/git/howie6879.github.io
        tls xiaozizayang@gmail.com
        timeouts none
        gzip
    }
    howie6879.cn {
        redir www.howie6879.cn
    }
    
    # 这里需要注意,请先将ip和博客域名解析好
    

    Caddy官方也提供了实现脚本,见这里,不过我就按照自己的习惯部署了,没有参考官方的

    接下来就可以直接启动我们的博客服务了,Caddy会自动申请证书上HTTPS,非常方便,启动:

    caddy -conf /etc/caddy/Caddyfile
    

    访问:https://www.howie6879.cn/ ,一切正常,至此,博客算迁移完成了,现在还有一个麻烦的地方在于,每次提交更新到Git仓库,总是需要手动下拉一次代码来更新网站博文,这样感觉比较麻烦

    或许可以让Caddy每隔多长时间自动拉取最新的仓库内容,比如60S,这样配置:

    www.howie6879.cn {
        root /home/howie/git/howie6879.github.io
        tls xiaozizayang@gmail.com
        git {
            repo     https://github.com/howie6879/howie6879.github.io.git
            path     /var/www/howie6879.github.io
            interval 60
        }
        timeouts none
        gzip
    }
    howie6879.cn {
        redir www.howie6879.cn
    }
    

    但这样有点浪费资源,还是做成被动触发比较好,所以还是让我们的Webhook登场吧,我暂时有点懒,懒得动。。。

    最后说下,利用Supervisor管理Caddy的事情,毕竟上面的启动方式还是不行的:

    sudo yum install python-setuptools
    sudo easy_install supervisor
    
    sudo mkdir /etc/supervisord.d/
    sudo echo_supervisord_conf > /etc/supervisord.conf
    
    sudo chmod -R 777 /etc/supervisord.d/
    sudo chmod -R 777 /etc/caddy/Caddyfile
    sudo chmod -R 777 /etc/supervisord.conf
    
    vim /etc/supervisord.con
    
    mkdir ~/supervisor/
    # 加上这行
    [include]
    files = /etc/supervisord.d/*.ini
    

    /etc/supervisord.d/增加caddy.ini:

    [program:caddy]
    command      = caddy -conf=“/etc/caddy/Caddyfile”
    user         = howie
    process_name = %(program_name)s
    autostart    = true
    autorestart  = true
    startsecs    = 3
    redirect_stderr         = true
    stdout_logfile_maxbytes = 500MB
    stdout_logfile_backups  = 10
    stdout_logfile          = ~/supervisor/caddy.log
    

    至此,大功告成

    相关文章

      网友评论

          本文标题:博客升级HTTPS方案

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