今天天气不错,我打开自己的小网站,准备欣赏下花了N久魔改的主题。敲好URL,提示500。套的Cloudflare提示我,SSL证书过期了。我用的是StartSSL提供的证书,默认有效期90天。而服务器的Linux版本又比较老,无法使用certbot
的自动续期功能,所以我啥时候想起来了就手动更新下证书。我这人比较佛系,证书过期也在所难免。所幸更新证书比较简单,certbot --certonly renew
就搞定了。
出乎意料的是,这次更新完证书后nginx报错nginx: configuration file /etc/nginx/nginx.conf test failed
。真奇怪,certbot
仅仅是生成公私钥对,并不会更改nginx的配置;而我自己也好几年没动过nginx了,到底是怎么回事?
把services nginx restart
报的错搜索一番,绝大多数都是nginx.conf
配置的问题。我的nginx.conf
已经好几年没动过了,应该不太可能
运行nginx -t /etc/nginx/nginx.conf
,结果却有些不妙
|
|
奇怪,为啥先输出语法正常,又说测试失败呢?
看alert
的内容,似乎是打不开某个log?但这是个alert
又不是error
,好像也没关系吧。花了十几分钟看nginx.conf
,文件内容又确实没有问题。
我决定先看看这个log
。ls
一下发现不存在。touch /var/log/nginx/access.log
创建文件,重启nginx,一切正常了
|
|
这时我才想起来,在某个风和日丽的午后,我为了给一个很大的下载任务腾地方,把最占地方的/etc/log
目录删掉了。没想到竟然是它导致了nginx的错误。
PS,就在我写博客的此时发现nginx后面给出了一条emergency
的报错:
|
|
果然,还是看日志的时候不能分心😂