在Ubuntu中,要将一个Python Flask应用设置为开机启动项,你通常需要将你的Flask应用作为一个Systemd服务来管理。
步骤1、准备Flask应用
参考:阿里云CDN功能Quick Start 第二部分创建Flask应用部分。
步骤2、创建Systemd服务单元文件
- 2.1 创建新的服务文件
cd /etc/systemd/system #到对应目录下 vi yourflaskapp.service #创建服务文件
- 2.2 编辑服务文件
[Unit] Description=Flask app running at startup [Service] ExecStart=/usr/bin/python3 -m flask run WorkingDirectory=/root/bailianapi User=root Group=root Restart=always Environment="FLASK_APP=web.py" Environment="FLASK_RUN_HOST=0.0.0.0" [Install] WantedBy=multi-user.target
按照需要调整以下几个值:
- ExecStart:修改为Python可执行文件的路径以及你的Flask应用的入口脚本。
- WorkingDirectory:修改为含有你的Flask应用代码的目录。
- User 和 Group:修改为运行你的Flask应用的用户及其组。
- 如果需要,添加适当的 Environment 变量。
步骤3、启用和启动服务
- 3.1 重新加载Systemd配置:为了让Systemd知晓你的新服务文件,运行以下命令:
sudo systemctl daemon-reload
- 3.2 启用你的服务:使服务在启动时自动启动:
sudo systemctl enable yourflaskapp.service
- 3.3 启动你的服务:现在启动你的Flask应用服务:
sudo systemctl start yourflaskapp.service
- 3.4 检查服务状态:检查你的服务是否顺利启动:
sudo systemctl status yourflaskapp.service
- 3.5 关闭服务
sudo systemctl stop yourflaskapp.service
步骤4、测试开机启动
关闭机器后重启,查看状态