老高于今年(2019)初收到了搬瓦工要停止OPENVZ的旧版服务器,同时列表中auto renew的选项被强制置灰。9.9刀的绝版服务器就这样被印上了大大的字,而且还是两台!😂

跑数据库的那台机器4月到期,于是把数据库先迁移了,跑在一台内存1G的机器上,由于上面还跑了一个git服务和ss,剩余内存也就400MB左右。下来就剩web服务器了,一看8月到期,先就这样吧!

于是就一晃到了今天。。。

其实迟迟不想迁服务器的原因有很多:

  • 上海的夏天太热
  • 服务器打字有延迟,不是很爽
  • acme自动签发证书爽歪歪,中途研究过docker+acme+nginx反代的解决方案ssldocker,还是觉得不是很完美
  • 绝版服务器被,心里不爽啊!一定要用到最后一天!
  • 不想用nginx,各种配置真心烦,但是php又对nignx依赖比较强,总之就是各种纠结
  • 。。。

新发现

好吧,本文的主题是就是它 --- caddy,caddy是一个基于golang实现https服务器。而且刚好看到有caddy+php的例子,扫了一眼就决定是他了!一直拖到老高服务器到期的当天,终于勉强迁移完成。

一些配置

刚开始用caddy的时候发现其配置文件极其简洁,同时也是因为太简单了,所以在配置上走了一些弯路。

比如老高有很多二级域名需要配置https,这种情况肯定使用通配符域名为最优,但是官网文档中没有找到关于通配符的用法,好在有Google大法!这才发现原来早在2018年caddy就支持了通配符!答案就在文章Caddy 0.10.12 Released with ACMEv2 and Wildcard Certificates中。

下面贴一下老高关于blog.phpgao.com的配置,其中xxx是需要填进去的,具体使用方法请参考文档!

文档:/en

(wildcard_cert) {
    tls {
        dns xxx
        wildcard
    }
}

xx.phpgao.com{
    import wildcard_cert # 这一句很重要
}

blog.phpgao.com {
    on startup php-fpm7
    fastcgi / 127.0.0.1:9000 php
    rewrite {
        to {path} {path}/ /index.php?{query}
    }
    gzip
    errors stdout
    root xxx
    import wildcard_cert
    git {
        repo xxx
        key xxx
        then xxx
    }
    log / xxx "{combined}"
    expires {
        match .css$ 1m
        match .js$ 1m
        match .ico$ 1m
        match .png$ 1m
        match .jpeg$ 1m
        match .jpg$ 1m
        match .gif$ 1m
        match .txt$ 1m
        match .eot$ 1m
        match .svg$ 1m
        match .ttf$ 1m
        match .woff$ 1m
        match .woff2$ 1m
        match .html$ 5i30s
    }
}

数据库

数据库其实用mysql 8.0没有必要,内存要求太高。想老高这种没人访问的站,在老高的各种测试后,用yobasystems/alpine-mariadb这个镜像内存占用很小,所以果断把web和数据库放到一起(docker-compose),结果喜人!

16c106539a3b        caddy     24.23MiB / 497.5MiB
a2e3b3098729        mysql     68.03MiB / 497.5MiB

目前就是web和数据库跑在一台512MB内存的$20搬瓦工的服务器上,凑活用吧!

标签: server

已有 10 条评论

  1. okgo okgo

    大佬,为什么不用sqlite数据库?

    1. sqlite也行,但是扩展性太差,不太建议用

      1. okgo okgo

        嗯。我以为您放弃这个博客了,没想到还能收到回复。我也做了个博客,用默认主题改了改,还行。

        1. 可以可以,不贴一下地址吗

  2. 刚转了typecho!

    1. 你转的太晚了,为啥不直接hugo

  3. 高良 高良

    9.9刀的用不了了,求介绍个便宜的,大兄弟。

  4. 老哥可以看下 hexo建站。(无需数据库)

    我现在是 hexo 架在本地,写完文章后hexo一键同步到vps。

    vps上只有一个nginx,因为全是静态资源,无需数据库。。。。

    1. hexo不如hugo,中间想过要转,但是嫌麻烦。

添加新评论