相信很多人都遇到过 “502错误”、 “2002 数据库无法连接” “ERR_NAME_NOT_RESOLVED” 等问题吧,一般来说是 Apache Httpd、Nginx、PHP、MySQL 等软件崩溃或者不稳定出现了相关问题。
我们可以利用
Monit 来监控服务器和环境,当出现意外的时候还可以自动实现重启。
安装
更新软件源缓存
apt update
安装 Monit
apt install monit -y
升级
关闭 monint
service monit stop
安装 html2text 以自动解析最细版本:
apt install html2text -y
自动更新
MONITVER=$(wget -q https://mmonit.com/monit/dist/binary/ -O - | html2text | grep DIR | tail -n 1 | tr -d / | awk '{print $2}')
cd /tmp
wget https://mmonit.com/monit/dist/binary/$MONITVER/monit-$MONITVER-linux-x64.tar.gz
tar -xf monit-*
cd monit-*
sudo cp bin/monit /usr/bin/monit
sudo ln -s /etc/monit/monitrc /etc/monitrc
重启monint
service monit restart
配置
备份原始配置
mv /etc/monit/monitrc /etc/monit/monitrc.bak
创建 SSL 证书 ,实现 HTTPS 安全传输,此过程也可以使用 Let's Encrypt 的证书
参考,演示用的是 OpenSSL 的自签,一路回车就行 :
mkdir -p /var/certs/
openssl req -new -x509 -days 365 -nodes -out /var/certs/monit.pem -keyout /var/certs/monit.pem
chmod 0700 /var/certs/monit.pem
创建新配置
创建一份新的 /etc/monit/monitrc 文件,内容:
set daemon 60 #check services every 60 seconds
set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
#Event queue
set eventqueue
basedir /var/lib/monit/events # set the base directory where events will be stored
slots 100 # optionally limit the queue size
#Mail settings
#http settings
set httpd port 52822 address 0.0.0.0 # 配置端口为 adapters
ssl enable #启用 SSL
pemfile /var/certs/monit.pem #生成的 SSL 地址
allow 0.0.0.0/0.0.0.0 # 允许访问的IP
allow monit.mf8.biz # 绑定的域名
allow mf8:"www.mf8.biz" # 账号为 mf8 ,密码为 www.mf8.biz
#allow modular structure
include /etc/monit/conf.d/*
include /etc/monit/conf-enabled/*
给予权限
chmod 0700 /etc/monit/monitrc
检查配置是否正确 ,运行
monit -t
如果反馈下面的语句就是正常的:
Control file syntax OK
重启服务
systemctl restart monit
访问
当问
https://yourip:52822 输入用户名: mf8 密码:
www.mf8.biz 就可以访问管理页面了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。