服务器跑着跑着突然上不去,网页打不开,接口返回500错误,第一反应是不是又改坏配置了?这时候别慌,把配置文件恢复默认往往是最快解决问题的办法。
什么时候需要恢复默认配置
比如你刚给Nginx加了个rewrite规则,结果整个网站404了;或者修改了MySQL的my.cnf,重启后服务起不来。这类“一动就坏”的情况,大概率是配置写错了。与其一行行排查,不如先回到起点——恢复默认配置,让服务先跑起来再说。
常见服务的默认配置恢复方法
Nginx
如果你之前做过备份,/etc/nginx/nginx.conf.bak 直接还原就行。没有备份也不用急,很多系统自带默认模板:
sudo cp /usr/share/doc/nginx-core/examples/nginx.conf.gz /etc/nginx/nginx.conf
sudo gzip -d /etc/nginx/nginx.conf
sudo nginx -t
sudo systemctl reload nginx
Apache
Ubuntu下可以重装apache2-config包来恢复:
sudo apt-get install --reinstall apache2.2-common
CentOS系可以用rpm命令:
sudo rpm --force -ihv httpd-2.4.x.rpm
MySQL / MariaDB
默认配置一般在/usr/share/mysql/目录下,比如my-huge.cnf、my-server.cnf等。复制一个合适的过去:
sudo cp /usr/share/mysql/my-medium.cnf /etc/mysql/my.cnf
sudo systemctl start mysql
平时怎么避免这种尴尬
改配置前随手备份一句已经成了习惯。比如:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.$(date +%F)
这样每次修改都有记录,哪天翻车了直接按日期找回。另外,用Git管理配置文件也是个好办法,尤其是多台服务器时,谁改了哪行一目了然。
云服务器别忘了镜像快照
阿里云、腾讯云这些平台都支持系统盘快照。重大调整前拍个快照,真出问题三分钟回滚,比手动恢复配置快多了。就像游戏里打BOSS前存个档,心里踏实。
配置文件恢复默认不是认怂,而是高效。服务器稳定运行才是目标,没必要在一条错配置上死磕。