最近又有种造轮子的冲动,于是打算写一个 Web Server,用来在服务器上管理自己的小项目们。
需求如下:
- GitHub 自动化部署
- 初始化及运行
- 自动注册 Webhook
- 进程管理
- 守护进程
- 数据监控
- 多核
- 热重启
- 文件监听
- Virtual Hosts
- Automatic HTTPS
- HTTP/2 & SPDY
具体地说,就是希望创建一份类似下面的配置文件:
|
|
然后服务器就会
- 下载运行所有项目;
- 注册监听 GitHub Webhooks;
- 在 Let’s Encrypt 注册 SSL 证书;
- 开启 HTTP/2 服务器,将流量按域名转发给各个项目;
- 监控项目运行情况,在报错或资源占用超标时重启。
目前已经基本实现现有需求,未来看情况还可能会支持 NVM 和 Travis CI。
项目地址:easy-pm