下面按最常见场景给你一个清晰、可落地的 Debian 上配置 Python 服务的方法。假设你用的是 Debian 11/12,Python 服务是一个普通脚本或 Web 服务(如 FastAPI / Flask)。
sudo apt update
sudo apt upgrade -y
Debian 一般自带 Python3:
python3 --version
如果没有:
sudo apt install python3 python3-pip python3-venv -y
sudo mkdir -p /opt/myservice
sudo chown $USER:$USER /opt/myservice
cd /opt/myservice
python3 -m venv venv
source venv/bin/activate
pip install flask # 示例
app.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from Debian Python service"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
sudo nano /etc/systemd/system/myservice.service
内容示例:
[Unit]
Description=My Python Service
After=network.target
[Service]
User=www-data
WorkingDirectory=/opt/myservice
ExecStart=/opt/myservice/venv/bin/python /opt/myservice/app.py
Restart=always
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target
⚠️
User可用你的用户名,或专门建一个系统用户
sudo systemctl daemon-reload
sudo systemctl enable myservice
sudo systemctl start myservice
sudo systemctl status myservice
journalctl -u myservice -f
sudo apt install nginx -y
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
sudo nginx -t
sudo systemctl reload nginx
pip install fastapi uvicorn
ExecStart=/opt/myservice/venv/bin/uvicorn app:app --host 0.0.0.0 --port 8000
while True:
do_something()
time.sleep(10)
python app.py 本地能跑如果你愿意,可以告诉我:
我可以直接给你一份可直接用的 service 文件。