Centos7
Monit不會在啟動時自動啟動
因此,正如標題所述,我遇到了一個問題,即 monit 無法在啟動時啟動。我有一個可以啟動的 CentOS 7 機器,還有一個不能啟動的 CentOS 7 機器,所以我知道這不是作業系統問題,一定是某個地方的配置問題。兩個盒子都是用流浪漢建造的,幾乎完全相同。我不知道從哪裡開始。
我會關注這個問題一段時間,所以請隨時要求我澄清任何事情,我知道這沒什麼好說的。任何幫助表示讚賞。
編輯:值得注意的是,我已經嘗試過
systemctl enable monit
,但它已經啟用。編輯2:(無關)
編輯 3:
[root@stage-web-1 vagrant]# systemctl status monit monit.service - Pro-active monitoring utility for unix systems Loaded: loaded (/usr/lib/systemd/system/monit.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2017-06-01 16:37:00 UTC; 6min ago Process: 1131 ExecStop=/usr/bin/monit quit (code=exited, status=1/FAILURE) Process: 1079 ExecStart=/usr/bin/monit -I (code=exited, status=1/FAILURE) Main PID: 1079 (code=exited, status=1/FAILURE) Jun 01 16:37:00 stage-web-1 systemd[1]: Started Pro-active monitoring utility for unix systems. Jun 01 16:37:00 stage-web-1 systemd[1]: Starting Pro-active monitoring utility for unix systems... Jun 01 16:37:00 stage-web-1 monit[1079]: Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory Jun 01 16:37:00 stage-web-1 systemd[1]: monit.service: main process exited, code=exited, status=1/FAILURE Jun 01 16:37:00 stage-web-1 monit[1131]: Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory Jun 01 16:37:00 stage-web-1 systemd[1]: monit.service: control process exited, code=exited status=1 Jun 01 16:37:00 stage-web-1 systemd[1]: Unit monit.service entered failed state. Jun 01 16:37:00 stage-web-1 systemd[1]: monit.service failed.
事實證明,它
/var/www/html/nfs
是通過 NFS 安裝到網路驅動器的文件夾。Monit 在 NFS 之前啟動,因此該文件夾還不存在,導致 .monit 錯誤Error opening the log file '/var/www/html/nfs/monit/stage-web-1.log' for writing -- No such file or directory
。解決方案是編輯
/lib/systemd/system/monit.service
:[Unit] Description=Pro-active monitoring utility for unix systems After=network.target [Service] Type=simple ExecStart=/usr/bin/monit -I ExecStop=/usr/bin/monit quit ExecReload=/usr/bin/monit reload [Install] WantedBy=multi-user.target
並添加
nfs.service
到該After
部分。最終結果如下所示:[Unit] Description=Pro-active monitoring utility for unix systems After=network.target nfs.service [Service] Type=simple ExecStart=/usr/bin/monit -I ExecStop=/usr/bin/monit quit ExecReload=/usr/bin/monit reload [Install] WantedBy=multi-user.target
Monit 現在在啟動時正確啟動 :)
感謝所有幫助我朝著正確方向前進的人。