CentOS 与 Ubuntu Python 部署差异
核心总览
- 基础操作 100% 通用:文件管理、进程控制、Python 运行、pip 安装依赖
- 核心配置完全不同:软件安装、防火墙、系统源更新(两大系统原生工具差异)
- 服务管理通用 :systemd 配置后台服务(CentOS 7+/Ubuntu 全版本)
一、✅ 完全通用命令(无需修改,两套系统通用)
适用于 Python 项目部署、文件操作、进程管理:
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash # 文件/目录操作 cd /path # 进入目录 ls # 查看文件 mkdir -p test # 创建文件夹 rm -rf test # 删除文件/文件夹 chmod +x run.sh # 添加执行权限 # 项目运行 & 依赖 python3 main.py # 启动Python程序 pip3 install -r requirements.txt # 安装依赖 # 进程管理 ps -ef | grep python # 查找Python进程 kill -9 进程ID # 终止进程 nohup python3 main.py & # 后台运行 # 服务管理(通用) systemctl start/stop/status 服务名 systemctl enable 服务名 # 开机自启 |
二、❌ 核心差异命令(对照替换表)
1. 软件包管理(安装 Python、pip、虚拟环境)
|----------|----------------------------------|----------------------------------------|
| 操作场景 | Ubuntu 命令 | CentOS 命令 |
| 更新系统软件源 | sudo apt update | sudo yum update |
| 安装 pip3 | sudo apt install python3-pip -y | sudo yum install python3-pip -y |
| 安装虚拟环境工具 | sudo apt install python3-venv -y | sudo yum install python3-virtualenv -y |
2. 防火墙配置(开放项目端口,如 5000/8000)
|-----------------|-------------------------|---------------------------------------------------|
| 操作场景 | Ubuntu 命令 | CentOS 命令 |
| 开放 TCP 端口(5000) | sudo ufw allow 5000/tcp | sudo firewall-cmd --permanent --add-port=5000/tcp |
| 重启防火墙生效 | sudo ufw reload | sudo firewall-cmd --reload |
| 查看防火墙开放端口 | sudo ufw status | sudo firewall-cmd --list-ports |
三、�� Python 项目极简部署流程(对照版)
流程 1:Ubuntu 部署
|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash # 1. 安装依赖 sudo apt update sudo apt install python3-pip python3-venv -y # 2. 防火墙开放端口 sudo ufw allow 5000/tcp sudo ufw reload # 3. 后续上传代码、运行、后台配置(通用) |
流程 2:CentOS 部署
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash # 1. 安装依赖(仅此处命令不同) sudo yum update sudo yum install python3-pip python3-virtualenv -y # 2. 防火墙开放端口(仅此处命令不同) sudo firewall-cmd --permanent --add-port=5000/tcp sudo firewall-cmd --reload # 3. 后续上传代码、运行、后台配置(和Ubuntu完全一样) |
四、�� 关键补充(避坑)
- CentOS 8+ 版本 :yum 可替换为 dnf(用法完全一致)
- 虚拟环境使用 :创建 / 激活虚拟环境的命令,两套系统完全相同
- 默认 Python :两个系统默认都自带 python3,直接用 python3/pip3 即可
- 防火墙关闭:测试环境可临时关闭防火墙(不推荐生产)
- Ubuntu:sudo ufw disable
- CentOS:sudo systemctl stop firewalld
总结
- 90% 操作通用 :只有装软件 和防火墙两行命令不同;
- 部署逻辑一致:安装环境 → 开放端口 → 上传代码 → 运行程序;
- 直接替换 :把 Ubuntu 的 apt/ufw 换成 CentOS 的 yum/firewall-cmd 即可。