在CentOS上部署Python應用程序,可以遵循以下步驟:
CentOS 7默認安裝了Python 2.7。如果你需要Python 3.x,可以通過以下命令安裝:
sudo yum install python3
為了避免全局安裝的庫和系統包之間的沖突,建議使用虛擬環境。首先安裝python3-virtualenv
:
sudo yum install python3-virtualenv
然后,在項目目錄中創建一個虛擬環境:
virtualenv venv
激活虛擬環境:
source venv/bin/activate
現在,你可以在虛擬環境中安裝所需的庫,而不會影響系統范圍內的Python安裝。
使用pip
安裝項目所需的依賴庫。例如:
pip install flask
在CentOS上,可以使用Nginx或Apache作為Web服務器。這里以Nginx為例:
首先,安裝Nginx:
sudo yum install nginx
啟動Nginx服務:
sudo systemctl start nginx
配置Nginx以代理到你的Python應用程序。編輯/etc/nginx/conf.d/your_app.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配置為將所有傳入的請求代理到運行在本地端口8000的Python應用程序。
重啟Nginx服務以應用更改:
sudo systemctl restart nginx
現在,你可以運行你的Python應用程序。如果你使用的是Flask,可以使用以下命令啟動應用程序:
flask run --host=127.0.0.1 --port=8000
確保你的防火墻允許傳入的HTTP請求。如果需要,可以使用以下命令打開端口80:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
現在,你的Python應用程序應該已經在CentOS上部署并運行了。訪問你在Nginx配置中設置的域名,你應該能看到應用程序的響應。