温馨提示×

centos python服务怎么启

小樊
49
2026-09-18 11:14:36
栏目: 编程语言

在 CentOS 上启动 Python 服务,常见有几种方式,取决于你是临时跑一下、后台运行,还是当作系统服务长期运行。下面按常见场景给你说明。


一、最简单:直接前台运行(测试用)

python3 your_script.py

或(如果是 Python 2):

python your_script.py

⚠️ 关闭终端就会停止。


二、后台运行(不推荐生产)

nohup python3 your_script.py > app.log 2>&1 &

查看进程:

ps -ef | grep your_script.py

停止:

kill -9 PID

三、使用 systemd(推荐,CentOS 7+)

1️⃣ 编写服务文件

sudo vi /etc/systemd/system/mypython.service

示例内容:

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

[Service]
User=root
WorkingDirectory=/opt/myproject
ExecStart=/usr/bin/python3 /opt/myproject/your_script.py
Restart=always

[Install]
WantedBy=multi-user.target

注意:

  • python3 路径用 which python3 查看
  • WorkingDirectory 是你的项目目录

2️⃣ 重载并启动

sudo systemctl daemon-reload
sudo systemctl start mypython
sudo systemctl enable mypython   # 开机自启

3️⃣ 常用命令

systemctl status mypython
journalctl -u mypython -f
systemctl stop mypython

四、Web 服务(如 Flask / Django)

Flask 示例(生产建议用 gunicorn)

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app

或用 systemd 管理 gunicorn。


五、虚拟环境启动(推荐)

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py

六、常见坑

  • ❌ 用了 python 但系统只有 python3
  • ❌ 防火墙没开端口
firewall-cmd --add-port=8000/tcp --permanent
firewall-cmd --reload
  • ❌ SELinux 限制(可临时测试关闭)

如果你能告诉我:

  • CentOS 版本
  • Python 版本
  • 是脚本 / Web 服务 / 爬虫
  • 是否要开机自启

我可以给你精准配置示例。

0 踩