在CentOS上部署Python环境可以通过以下步骤完成:
1. 更新系统
首先,确保你的CentOS系统是最新的。
sudo yum update -y
2. 安装依赖包
安装编译Python所需的依赖包。
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel tk-devel gcc make
3. 下载并编译Python
从Python官方网站下载你需要的Python版本,并进行编译安装。
下载Python源码
wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
将3.x.x替换为你想要安装的Python版本号。
解压源码包
tar xvf Python-3.x.x.tgz
cd Python-3.x.x
配置、编译并安装Python
./configure --prefix=/usr/local/python3
make -j 8 # 使用8个线程进行编译,可以根据你的CPU核心数调整
sudo make altinstall # 使用altinstall避免覆盖系统默认的Python版本
4. 验证安装
安装完成后,验证Python是否正确安装。
python3.x --version # 将3.x替换为你安装的版本号
5. 创建虚拟环境(可选)
使用venv模块创建一个虚拟环境,以便更好地管理项目依赖。
sudo yum install -y python3-venv
python3.x -m venv myenv # 将3.x替换为你安装的版本号
source myenv/bin/activate # 激活虚拟环境
6. 安装项目依赖
在虚拟环境中安装项目所需的Python包。
pip install -r requirements.txt # 如果你有requirements.txt文件
7. 配置systemd服务(可选)
如果你打算将Python脚本作为服务运行,可以使用systemd来管理。
创建服务文件
sudo nano /etc/systemd/system/my_python_script.service
在文件中添加以下内容:
[Unit]
Description=My Python Script
After=network.target
[Service]
User=your_username
Group=your_groupname
WorkingDirectory=/path/to/your/script
ExecStart=/path/to/your/script/start_script.sh
[Install]
WantedBy=multi-user.target
重新加载systemd配置
sudo systemctl daemon-reload
启动服务
sudo systemctl start my_python_script.service
设置服务开机自启动
sudo systemctl enable my_python_script.service
8. 配置Web服务器(可选)
如果你打算部署Web应用,可以使用Nginx和Gunicorn。
安装Nginx
sudo yum install -y epel-release
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
安装Gunicorn
在虚拟环境中安装Gunicorn。
pip install gunicorn
配置Gunicorn
创建一个Gunicorn配置文件gunicorn.conf.py。
bind = '127.0.0.1:8000'
workers = 3
启动Gunicorn
gunicorn -c gunicorn.conf.py myapp:app # 将myapp替换为你的应用模块名,app替换为你的Flask应用实例名
配置Nginx反向代理
编辑Nginx配置文件/etc/nginx/conf.d/default.conf。
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
重启Nginx
sudo systemctl restart nginx
9. 配置防火墙(可选)
确保防火墙允许HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
通过以上步骤,你可以在CentOS上成功部署Python环境,并根据需要进行Web应用的部署。
以上就是关于“Python在CentOS上如何部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm