美文网首页
caddy源码分析1-基础介绍

caddy源码分析1-基础介绍

作者: 黑魔术师 | 来源:发表于2018-04-06 21:35 被阅读208次

    1.缘起

    最近一直在学习golang,一直觉得自己写的server性能与并发达不到预期,所以想分析一款开源的服务器软件,来提高自己对golang的net/http包的理解。

    2.caddy的特点

    • 多协议支持
    • 模块化
    • 自带https支持

    3.阅读计划

    1. 从入口出发,分析整体架构
    2. 分析配置文件解析一层
    3. 分析http请求接受一层
    4. 分析其中各种模块

    4.入口分析

    入口文件:github.com/mholt/caddy/caddy/caddymain.Run

    1. init中的初始化
      1.1 caddy.TrapSignals设置信号量
      1.2 setVersion 设置版本信息
      1.3 flag包解析信息配置
      1.4 caddy.RegisterCaddyfileLoader 注册文件解释器?
      1.5 caddy.SetDefaultCaddyfileLoader 设置默认配置文件解释器
    2. caddymain.Run 进入主流程,解析flag
    3. logfile 设置日志格式
    4. one time action
      4.1 caddytls.Revoke 撤销域名对应的https证书
      4.2 version 查看版本号
      4.3 plugins 插件列表,插件加载依赖caddyhttp包引入所有plugin,通过每个子包的init初始化
      5.setCPU 设置cpu占用,支持百分比和数字两种格式
      6.执行初始化事件

    相关文章

      网友评论

          本文标题:caddy源码分析1-基础介绍

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