我写了一个小程序用来获取成绩,将请求发送到服务器,然后服务器返回相应的信息,但是每次运行这个小程序获取程序的时候,我都需要电脑开着,然后远程登录服务器,手动运行main.py,保持着服务器上的程序运行
所以我想知道如何才能让云服务器上面的程序一直自动运行,而不是每次我需要请求消息的时候都得把我的电脑打开,然后手动运行main.py
我写了一个小程序用来获取成绩,将请求发送到服务器,然后服务器返回相应的信息,但是每次运行这个小程序获取程序的时候,我都需要电脑开着,然后远程登录服务器,手动运行main.py,保持着服务器上的程序运行
所以我想知道如何才能让云服务器上面的程序一直自动运行,而不是每次我需要请求消息的时候都得把我的电脑打开,然后手动运行main.py
监控脚本当然使用 Supervisor
,下面介绍使用方法:
Supervisor 是一个用于 Linux 操作系统的进程监视器,如果进程失败,它将自动重启该进程。要在 Ubuntu 上安装 Supervisor,你可以使用以下命令:
sudo apt-get install supervisor
Supervisor 配置文件通常存储在 /etc/supervisor/conf.d
目录。在此目录中,你可以创建任意数量的配置文件,这些配置文件将目录 supervisor 如何监视你的进程。例如,让我们创建一个 worker.conf
文件,启动并监视 work
进程:
[program:worker]
process_name=%(program_name)s_%(process_num)02d
command=python /XXX/main.py
autostart=true
autorestart=true
user=forge
numprocs=2
redirect_stderr=true
stdout_logfile=/home/user/worker.log
stopwaitsecs=3600
在本例中, numprocs
指令将指示监控器运行 2 个 work
进程并监视所有进程,如果它们失败,将自动重新启动它们。
注意:请替换文件目录。应该确保 stopwaitsecs
的值大于运行时间最长的任务所消耗的秒数。否则,Supervisor 可能会在任务完成前终止任务。
创建了配置文件后,你可以使用以下命令更新Supervisor配置并启动进程:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start worker:*
有关Supervisor的更多信息,请参考 Supervisor documentation
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答869 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
按你的文件是Python程序