相对于centos这种稳定的服务器操作系统,Ubuntu 作为服务器操作系统往往有很多激进的默认设置

  1. 软件安装后,默认配置了自动启动

    本身是一个好事,但是里面的默认安全配置让你排查问题时,一时找不到问题根源,比如前段时间遇到的  PublicCMS部署后启动日志提示Read-only file system

  2. 软件启动后,系统默认自动备份日志

    又是一个便利但又充满陷阱的地方,比如我们安装了用nginx这个用户安装了nginx服务,但是日志备份服务里面默认账号是www-data,会导致nginx写不了日志而停止服务

  3. letsencrypt默认更新证书

    同样是自作聪明,安装letsencrypt后系统会自带一个证书更新服务,但是我们有时候需要增加一些后置任务,比如重新加载nginx,往往是自己加一个这样的任务,此时两个任务交替运行,经常发生证书更新后没生效的问题,排查后才知道/etc/cron.d/ 下面有个certbot的默认定时任务,而且这个任务还有个随机延迟机制 导致排查问题难度飙升

    /usr/bin/certbot renew --quiet --post-hook "systemctl restart nginx"