python linux 搭建简单接口服务,窗口关闭继续运行,且开机自启动

创建app.py 文件

from flask import Flask, jsonify


app = Flask(__name__)


@app.route('/abc', methods=['POST'])
def abc():
    # 业务代码
    
    data = ""
    # 返回结果
    return jsonify({'data': data}),200

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5001, debug=True)

将app.py文件复制到linux服务器

启动服务

python app.py

服务器环境 调用接口

curl -H "Content-type: application/json" -X POST http://127.0.0.1:5001/abc

关闭窗口继续运行

使用nohup启动
nohup python app.py &

 指定日志文件名称为 service.log

nohup python app.py > service.log 2>&1 &
关闭服务

查找pid:

ps -ef | grep python

找到/usr/bin/python app.py 的pid

关闭服务

kill -9 pid
使用 tmux

安装 tmux

sudo apt-get install tmux

启动一个新的 tmux 会话

tmux

 在 tmux 会话中运行你的 Python 程序

python app.py

Ctrl+B 然后按 D 键,退出 tmux 会话并将其置于后台。

以通过 tmux attach 重新连接到会话。

开机自启动

使用 systemd 服务

/etc/systemd/system/ 目录下创建一个新的服务文件,比如 my-python-app.service

sudo nano /etc/systemd/system/my-python-app.service

将以下内容粘贴到服务文件中:

[Unit]
Description=My Python App
After=network.target

[Service]
ExecStart=/usr/bin/python /path/to/your_script.py
WorkingDirectory=/path/to/your
Restart=always
User=your-username
Group=your-group
StandardOutput=inherit
StandardError=inherit

[Install]
WantedBy=multi-user.target
  • ExecStart:指定 Python 程序的路径。
  • WorkingDirectory:指定程序运行的工作目录。
  • Restart=always:确保程序在退出后自动重启。
  • User 和 Group:指定运行程序的用户和组。

重新加载 systemd 配置

sudo systemctl daemon-reload

启动服务

sudo systemctl enable python-ocr.service
sudo systemctl start my-python-app

查看服务状态

sudo systemctl status my-python-app
查看日志
sudo journalctl -u my-python-app


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值