鱼C论坛

 找回密码
 立即注册
查看: 1523|回复: 8

[已解决]如何让部署在服务器上的项目一直保持运行状态

[复制链接]
发表于 2024-1-17 20:16:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何让部署在服务器上flask的项目一直保持运行状态,必须要手动打开才能运行
最佳答案
2024-1-17 20:19:15
liuhongrun2022 发表于 2024-01-17 20:18
不一定是flask,我的意思是 怎么让命令在后台运行


哦,明白了。如果你想让一个命令在后台一直运行而不受终端关闭的影响,可以使用以下方法:

1. 在命令后面加上 `&` 符号,例如:`python your_script.py &`。这样命令将在后台运行,并返回一个进程ID号(PID)。

2. 使用 `nohup` 命令,例如:`nohup python your_script.py &`。`nohup` 命令可以让你的程序忽略终端关闭信息,持续在后台运行。

3. 使用 `screen` 工具,在终端中输入 `screen` 后回车,然后运行你的命令。这样,命令会在一个名为 "screen session" 的虚拟终端中运行,并且你可以随时断开连接,重新连接时命令仍然在后台运行。

4. 使用 `tmux` 工具,类似于 `screen`,可以在一个虚拟终端中运行你的命令,并且可以随时断开重连。你可以在终端中输入 `tmux new-session` 启动一个新的会话,然后运行你的命令。

无论你选择哪种方式,都可以让你的命令在后台长时间运行,即使你关闭了终端连接。你可以根据自己的需求选择适合的方法。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-17 20:17:45 | 显示全部楼层
要让部署在服务器上的项目一直保持运行状态,你可以使用一些工具来实现自动化部署和持续运行。

首先,你可以使用Supervisor来管理你的Flask应用程序。Supervisor是一个进程管理工具,它可以监控并重启你的应用程序,以确保它一直在运行。

首先,你需要在服务器上安装Supervisor。可以使用以下命令在Ubuntu上安装:
sudo apt-get install supervisor

接下来,创建一个Supervisor配置文件来定义你的Flask应用程序。在/etc/supervisor/conf.d/目录下创建一个新的.conf文件,比如app.conf。在该文件中,你可以指定Flask应用程序的启动命令、工作目录等信息。

示例配置文件(app.conf)如下:
[program:myapp]
command=/usr/bin/python3 /path/to/your/app.py
directory=/path/to/your/app/directory
user=yourusername
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log

在上面的配置中,你需要将`/path/to/your/app.py`替换为你的Flask应用程序的启动脚本路径,将`/path/to/your/app/directory`替换为你的应用程序的工作目录,并将`yourusername`替换为你的用户名。

接下来,可以使用以下命令重新加载Supervisor配置:
sudo supervisorctl reread
sudo supervisorctl update

最后,你可以使用以下命令来启动、停止或重启你的Flask应用程序:
sudo supervisorctl start myapp
sudo supervisorctl stop myapp
sudo supervisorctl restart myapp

这样,你的Flask应用程序就会在服务器上持续运行,即使服务器重启也会自动重新启动。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-1-17 20:17:45 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-17 20:17:54 | 显示全部楼层


哈喽,有什么问题我可以帮助你解答吗?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-17 20:18:26 | 显示全部楼层
FishC 发表于 2024-1-17 20:17
要让部署在服务器上的项目一直保持运行状态,你可以使用一些工具来实现自动化部署和持续运行。

首先,你 ...

不一定是flask,我的意思是 怎么让命令在后台运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-17 20:19:15 | 显示全部楼层    本楼为最佳答案   
liuhongrun2022 发表于 2024-01-17 20:18
不一定是flask,我的意思是 怎么让命令在后台运行


哦,明白了。如果你想让一个命令在后台一直运行而不受终端关闭的影响,可以使用以下方法:

1. 在命令后面加上 `&` 符号,例如:`python your_script.py &`。这样命令将在后台运行,并返回一个进程ID号(PID)。

2. 使用 `nohup` 命令,例如:`nohup python your_script.py &`。`nohup` 命令可以让你的程序忽略终端关闭信息,持续在后台运行。

3. 使用 `screen` 工具,在终端中输入 `screen` 后回车,然后运行你的命令。这样,命令会在一个名为 "screen session" 的虚拟终端中运行,并且你可以随时断开连接,重新连接时命令仍然在后台运行。

4. 使用 `tmux` 工具,类似于 `screen`,可以在一个虚拟终端中运行你的命令,并且可以随时断开重连。你可以在终端中输入 `tmux new-session` 启动一个新的会话,然后运行你的命令。

无论你选择哪种方式,都可以让你的命令在后台长时间运行,即使你关闭了终端连接。你可以根据自己的需求选择适合的方法。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-18 20:41:44 | 显示全部楼层
FishC 发表于 2024-1-17 20:19
哦,明白了。如果你想让一个命令在后台一直运行而不受终端关闭的影响,可以使用以下方法:

1. 在命 ...

怎么关闭nohup在后台运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-18 20:42:25 | 显示全部楼层
liuhongrun2022 发表于 2024-01-18 20:41
怎么关闭nohup在后台运行


要关闭在后台运行的 `nohup` 命令,可以使用以下几种方法:

1. 使用 `ps` 命令查找进程ID(PID):
   - 使用 `ps aux | grep your_script.py` 查找包含你的脚本名称的进程信息。
   - 找到对应的进程ID(通常是第二列),然后使用 `kill PID` 命令杀死进程,将 PID 替换为你找到的进程ID。

2. 使用 `pkill` 命令:
   - 使用 `pkill -f your_script.py` 杀死包含你的脚本名称的所有进程。

3. 使用 `killall` 命令:
   - 使用 `killall your_script.py` 杀死所有名为 `your_script.py` 的进程。

请注意,在使用这些命令之前,请确保你真正想要终止的后台进程。使用 `ps` 命令或者其他工具来确认进程的确是你要关闭的。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-28 19:09:01 | 显示全部楼层
虽然我这个答案不对题  但是可以提个醒

如果你之后用linux服务器的话想让他在退出的情况下运行可以用screen(我当时不知道还去发帖问了qwq)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 20:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表