溫馨提示×

Python在CentOS上如何部署

小樊
33
2025-07-04 20:53:33
欄目: 編程語言

在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應用的部署。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女