在CentOS上部署Python Web服务器,你可以选择多种Web框架,如Flask、Django等。这里以Flask为例,介绍如何在CentOS上部署一个简单的Python Web应用。
CentOS 7默认安装了Python 2.x,你需要安装Python 3.x和pip。
sudo yum install -y python3 python3-pip
为了隔离项目依赖,建议创建一个虚拟环境。
sudo pip3 install virtualenv
virtualenv venv
source venv/bin/activate
在虚拟环境中安装Flask。
pip install Flask
创建一个简单的Flask应用。
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
在虚拟环境中运行Flask应用。
python app.py
此时,你的Flask应用应该在http://your_server_ip:5000上运行。
为了提高性能和安全性,建议使用Nginx作为反向代理服务器。
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。
server {
listen 80;
server_name your_server_ip;
location / {
proxy_pass http://127.0.0.1:5000;
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;
}
}
sudo systemctl restart nginx
确保防火墙允许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应用,并使用Nginx作为反向代理服务器。你可以根据需要进一步配置和优化你的Web服务器。