CentOS系统下Miniconda3安装与Python项目后台运行全攻略

一、Miniconda3安装与配置

图片[1]_CentOS系统下Miniconda3安装与Python项目后台运行全攻略_知途无界

1. 系统准备

# 更新系统
sudo yum update -y

# 安装必要依赖
sudo yum install -y bzip2 wget

2. 下载并安装Miniconda3

# 下载最新版Miniconda3(Linux 64位)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 验证文件完整性(可选)
sha256sum Miniconda3-latest-Linux-x86_64.sh

# 安装(默认安装到/root/miniconda3)
bash Miniconda3-latest-Linux-x86_64.sh

# 按提示操作,建议安装到/opt/miniconda3
# 安装完成后重新加载bashrc
source ~/.bashrc

3. 配置环境变量

# 编辑bashrc文件
nano ~/.bashrc

# 添加以下内容(路径根据实际安装位置调整)
export PATH="/opt/miniconda3/bin:$PATH"

# 使配置生效
source ~/.bashrc

4. 验证安装

conda --version
python --version

5. 基础配置

# 禁止自动激活base环境
conda config --set auto_activate_base false

# 更新conda
conda update -n base -c defaults conda

二、Python项目管理

1. 创建虚拟环境

# 创建环境(指定Python版本)
conda create -n myenv python=3.8

# 激活环境
conda activate myenv

# 安装项目依赖
pip install -r requirements.txt

2. 环境管理常用命令

# 列出所有环境
conda env list

# 导出环境配置
conda env export > environment.yml

# 根据yml文件创建环境
conda env create -f environment.yml

# 删除环境
conda env remove -n myenv

三、Python项目后台运行方案

方案1:使用nohup(简单场景)

# 运行并输出到指定日志文件
nohup python app.py > app.log 2>&1 &

# 查看进程
ps aux | grep python

# 终止进程
kill -9 [PID]

方案2:使用screen(可交互)

# 安装screen
sudo yum install -y screen

# 创建新会话
screen -S mypython

# 在会话中运行程序
python app.py

# 退出会话(程序继续运行)
Ctrl+A 然后按 D

# 恢复会话
screen -r mypython

# 查看所有会话
screen -ls

方案3:使用systemd(生产推荐)

  1. 创建服务文件
sudo nano /etc/systemd/system/myapp.service
  1. 添加以下内容(根据实际情况修改):
[Unit]
Description=My Python Application
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/path/to/your/app
Environment="PATH=/opt/miniconda3/envs/myenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/opt/miniconda3/envs/myenv/bin/python app.py
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
  1. 启用并启动服务
# 重载systemd配置
sudo systemctl daemon-reload

# 启用服务(开机自启)
sudo systemctl enable myapp

# 启动服务
sudo systemctl start myapp

# 查看状态
sudo systemctl status myapp

# 查看日志
journalctl -u myapp -f

方案4:使用supervisor(多进程管理)

  1. 安装supervisor
sudo yum install -y supervisor
  1. 创建配置文件
sudo nano /etc/supervisord.d/myapp.ini
  1. 添加配置内容:
[program:myapp]
command=/opt/miniconda3/envs/myenv/bin/python app.py
directory=/path/to/your/app
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log
environment=PATH="/opt/miniconda3/envs/myenv/bin:%(ENV_PATH)s"
  1. 启动服务
# 启动supervisor
sudo systemctl start supervisord

# 启用开机自启
sudo systemctl enable supervisord

# 重新加载配置
sudo supervisorctl reread
sudo supervisorctl update

# 查看状态
sudo supervisorctl status

四、防火墙配置(如需外部访问)

# 开放端口(示例开放5000端口)
sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
sudo firewall-cmd --reload

# 查看已开放端口
sudo firewall-cmd --list-ports

五、性能监控与维护

1. 查看资源占用

# 查看进程资源占用
top -p $(pgrep -d',' python)

# 查看磁盘空间
df -h

# 查看内存使用
free -h

2. 日志轮转配置

sudo nano /etc/logrotate.d/myapp

添加内容:

/var/log/myapp*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 640 root root
    sharedscripts
    postrotate
        /usr/bin/systemctl restart supervisord >/dev/null 2>&1 || true
    endscript
}

六、常见问题解决

1. Conda命令找不到

# 检查PATH环境变量
echo $PATH

# 手动添加conda路径
export PATH="/opt/miniconda3/bin:$PATH"

2. Python版本冲突

# 确认当前使用的Python路径
which python

# 在虚拟环境中安装正确版本
conda install python=3.8

3. 端口被占用

# 查找占用端口的进程
sudo netstat -tulnp | grep :5000

# 或使用lsof
sudo lsof -i :5000

4. 后台进程意外终止

  • 检查系统日志:journalctl -xe
  • 检查应用程序日志
  • 考虑使用Restart=always的systemd配置

通过以上步骤,您可以在CentOS系统上完成Miniconda3的安装、Python项目管理以及实现项目稳定后台运行。

© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞40 分享
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容