如何让云服务器上的程序一直运行?

我写了一个小程序用来获取成绩,将请求发送到服务器,然后服务器返回相应的信息,但是每次运行这个小程序获取程序的时候,我都需要电脑开着,然后远程登录服务器,手动运行main.py,保持着服务器上的程序运行

所以我想知道如何才能让云服务器上面的程序一直自动运行,而不是每次我需要请求消息的时候都得把我的电脑打开,然后手动运行main.py

阅读 11.1k
7 个回答

按你的文件是Python程序

nohup python main.py &

如果是Linux系统,请使用 nohup。

我用 node 写过服务器程序,应该与 Python 差不太多。试一下是不是参数错误。

写个自启动服务,自动执行脚本。

新手上路,请多包涵

写个脚本自动启动运行,就可以

用screen也行

监控脚本当然使用 Supervisor,下面介绍使用方法:

Supervisor 配置

安装 Supervisor

Supervisor 是一个用于 Linux 操作系统的进程监视器,如果进程失败,它将自动重启该进程。要在 Ubuntu 上安装 Supervisor,你可以使用以下命令:

sudo apt-get install supervisor

配置 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

创建了配置文件后,你可以使用以下命令更新Supervisor配置并启动进程:

sudo supervisorctl reread

sudo supervisorctl update

sudo supervisorctl start worker:*

有关Supervisor的更多信息,请参考 Supervisor documentation

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题