CentOS7下配置Supervisor自啟動的兩種方法


很多網友留言問如何配置Supervisor 自啟動,現將如何在CentOS7下配置Supervisor自啟動的兩種方法整理如下:

一、方法一

直接將啟動命令加入到/etc/rc.d/rc.local中(簡單但不推薦)

vi /etc/rc.d/rc.local

在現有的內容后面加入supervisor的啟動命令
supervisord -c /etc/supervisord.conf
/etc/rc.d/rc.local
注意:一定要執行 chmod +x /etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local

給文件加入可執行權限
根據官方的提示,該方式是不被建議的,強烈建議創建自己的systemd services或udev規則來啟動自已的應用,也就是方法二。

二、方法二

通過創建systemd services來實現自啟動 (推薦)
進入到/usr/lib/systemd/system/目錄

[root@localhost ~]# cd /usr/lib/systemd/system/

找到supervisord及supervisorctl命令的路徑

[root@localhost system]# which supervisord
/usr/local/bin/supervisord
[root@localhost system]# which supervisorctl
/usr/local/bin/supervisorctl

創建文件supervisord.service

vi supervisord.service

復制以下代碼。注意:supervisord及supervisorctl命令的路徑根據實際情況進行修改

#supervisord.service

[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl shutdown
ExecReload=/usr/local/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

啟用服務

[root@localhost system]# systemctl enable supervisord
Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service

啟動服務

[root@localhost ~]# systemctl start supervisord

查看服務狀態

[root@localhost ~]# systemctl status supervisord
● supervisord.service - Supervisor daemon
   Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-11-11 11:11:36 CST; 12s ago
  Process: 3822 ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
 Main PID: 3850 (supervisord)
   CGroup: /system.slice/supervisord.service
           ├─3850 /usr/local/bin/python3.8 /usr/local/bin/supervisord -c /etc/supervisord.conf
           ├─3916 uwsgi --ini /home/flask_web/uwsgi.ini
           ├─3918 uwsgi --ini /home/flask_web/uwsgi.ini
           └─3919 uwsgi --ini /home/flask_web/uwsgi.ini

驗證一下是否為開機啟動

[root@localhost system]# systemctl is-enabled supervisord
enabled

reboot重啟服務器后,可以發現supervisor隨服務器啟動后自動啟動了。

至此,本文介紹了CentOS7下配置Supervisor自啟動的兩種方法,推薦使用第二種方式。

作者博客:http://xiejava.ishareread.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM