在 Ubuntu 上启动 Python 服务,常见有几种方式,下面按从简单到生产级给你讲清楚。
python3 your_script.py
或(如果有 __main__):
python3 -m your_module
⚠️ 关闭终端就停了
nohup python3 your_script.py > app.log 2>&1 &
查看:
tail -f app.log
停止:
ps aux | grep python
kill -9 PID
例如:
/opt/myservice/app.py
建议用虚拟环境:
python3 -m venv /opt/myservice/venv
sudo vim /etc/systemd/system/myservice.service
示例内容:
[Unit]
Description=My Python Service
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/opt/myservice
ExecStart=/opt/myservice/venv/bin/python app.py
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reexec
sudo systemctl enable myservice
sudo systemctl start myservice
systemctl status myservice
journalctl -u myservice -f
sudo systemctl restart myservice
sudo systemctl stop myservice
✅ 开机自启
✅ 崩溃自动重启
✅ 生产环境标准
flask run
gunicorn -w 4 -b 0.0.0.0:8000 app:app
再套 systemd 或 nginx
FROM python:3.11
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
我可以直接给你可复制的完整配置。