admin管理员组

文章数量:1635683

各位好,我是AIGC创意人 竹相左边

书接上文,上一篇文章介绍了如何从零开始借助ChatGPT在服务器里搭建一个网页flask应用工具。

ChatGPT给了我成功可用的代码以及正确配置了结构树。

给新朋友介绍下我做了一个什么?

这个网页的作用就是 填写邮箱后 自动发送作者分享的工具包资料。

作为一个知识型作者,我认为这个工具应该是必备的。

---

今天分享的主要内容是,后期调试经验记录与总结。因为我也是一边遇到问题一边解决问题。

好记性不如烂笔头。有兴趣的朋友可以体验一下。

问题背景:

1. 项目实测  运行 python app.py  可以正确打开项目

2. 设置了服务器重启项目自启动之后,网址就进不去了。

3.现在希望解决问题,最终实现,服务器重启了项目也会自动重启,保证稳定持续服务。

重点代码:

首先每次进入服务,记得激活虚拟环境

进入项目目录

cd ~/email9189

激活虚拟环境: 如果你的虚拟环境文件夹名为 venv,可以使用以下命令激活:

source venv/bin/activate
 

启动 Flask 应用: 使用以下命令启动你的应用:

python app.py
 

激活了虚拟环境后,再开始更改配置这些。因为服务器里还有别的项目。

检查系统服务配置文件:

sudo systemctl status my_project
 

停止服务:

sudo systemctl stop my_project
 

禁用自启动:

sudo systemctl disable my_project
 

确认服务已停止:

sudo systemctl status my_project
 

如果需要,重新启动项目:

python app.py

一个常见错误类型,项目无法启动,多半是端口被占用了

相关的检测修复代码如下:

查找占用端口的进程: 使用以下命令查找哪个进程正在使用端口 9189:

sudo lsof -i :9189
 

停止占用端口的进程: 找到占用端口的进程后,记下其 PID(进程 ID),然后使用以下命令停止它:

sudo kill <PID>
<PID> 替换为实际的进程 ID。

如果你不想停止当前使用端口的进程,也可以修改 Flask 应用使用其他端口,比如 9190,方法是修改代码中的启动端口配置。例如:

app.run(port=9190)

当手动启动配置好之后,就是重新设置 自动启动的内容,保持稳定的提供服务

创建服务文件:

sudo nano /etc/systemd/system/my_project.service
 

在文件中添加以下内容:

[Unit]
Description=My Flask Project
After=network.target

[Service]
User=root
WorkingDirectory=/root/email9189
Environment="PATH=/root/email9189/venv/bin"
ExecStart=/root/email9189/venv/bin/python app.py
Restart=always

[Install]
WantedBy=multi-user.target
 

  • 保存并退出编辑器(按 Ctrl + X,然后按 Y 确认保存)。

重新加载 systemd 配置:

sudo systemctl daemon-reload
 

启用服务自启动:

sudo systemctl enable my_project
 

启动服务:

sudo systemctl start my_project
 

检查服务状态:

sudo systemctl status my_project
 

要停止通过 systemd 启动的项目,可以使用以下命令:

停止服务:
sudo systemctl stop my_project

修改配置文件或项目文件:

sudo nano /etc/systemd/system/my_project.service
或者直接修改项目文件,例如 app.py

修改完成后,重新加载 systemd 配置:

sudo systemctl daemon-reload
 

重新启动服务:

sudo systemctl start my_project

本文标签: 自然语言chatGPTing