首页主机资讯CentOS Python Web开发如何搭建

CentOS Python Web开发如何搭建

时间2025-10-30 21:52:03发布访客分类主机资讯浏览1460
导读:CentOS环境下Python Web开发搭建全流程 1. 系统准备与依赖安装 首先更新系统软件包,确保基础环境最新: sudo yum update -y 安装Python3及pip(CentOS 7及以上默认包含Python 3,若未...

CentOS环境下Python Web开发搭建全流程

1. 系统准备与依赖安装

首先更新系统软件包,确保基础环境最新:

sudo yum update -y

安装Python3及pip(CentOS 7及以上默认包含Python 3,若未安装可通过以下命令安装):

sudo yum install python3 python3-pip -y

验证安装:

python3 --version  # 查看Python版本(建议3.6+)
pip3 --version     # 查看pip版本

2. 创建虚拟环境(隔离项目依赖)

为避免不同项目间的依赖冲突,使用venv模块创建虚拟环境:

# 创建虚拟环境目录(以myenv为例)
python3 -m venv myenv
# 激活虚拟环境
source myenv/bin/activate
# 激活后,终端提示符会显示虚拟环境名称(如“(myenv)”)

3. 安装Python Web框架

根据项目需求选择轻量级(Flask)或全功能(Django)框架:

  • Flask(轻量级,适合小型项目/快速原型)
    pip install Flask
    
  • Django(全功能,适合大型项目/复杂应用)
    pip install Django
    

4. 创建Web应用

Flask示例(快速启动)

创建项目目录并编写应用:

mkdir my_flask_app &
    &
     cd my_flask_app
# 创建app.py文件
cat >
     app.py <
    <
     'EOF'
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask on CentOS!'
    
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)
EOF

运行应用:

python app.py

访问http://< 服务器IP> :5000,若看到“Hello, Flask on CentOS!”则表示成功。

Django示例(完整项目结构)

创建Django项目及应用:

django-admin startproject myproject  # 创建项目
cd myproject
python manage.py startapp hello      # 创建应用

配置URL路由:

  • 编辑myproject/urls.py,添加应用路由:
    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('hello.urls')),  # 包含应用的URL配置
    ]
    
  • hello目录下创建urls.py,定义具体路由:
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.hello, name='hello'),
    ]
    
  • 编写视图函数:编辑hello/views.py
    from django.http import HttpResponse
    
    def hello(request):
        return HttpResponse("Hello, Django on CentOS!")
    

运行开发服务器:

python manage.py runserver 0.0.0.0:8000

访问http://< 服务器IP> :8000,若看到“Hello, Django on CentOS!”则表示成功。

5. 配置生产环境(Gunicorn + Nginx)

开发服务器(app.run()/runserver)仅用于调试,生产环境需使用**Gunicorn(WSGI服务器)**处理Python应用,**Nginx(反向代理)**处理静态文件及负载均衡。

安装Gunicorn
pip install gunicorn

用Gunicorn启动Flask应用(假设应用入口为app.py中的app对象):

gunicorn -w 4 -b 127.0.0.1:8000 app:app
  • -w 4:启动4个工作进程(根据CPU核心数调整);
  • -b 127.0.0.1:8000:绑定到本地8000端口(仅允许Nginx访问)。

用Gunicorn启动Django应用(入口为myproject.wsgi):

gunicorn -w 4 -b 127.0.0.1:8000 myproject.wsgi
安装与配置Nginx

安装Nginx:

sudo yum install nginx -y

启动Nginx并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

配置Nginx反向代理(编辑/etc/nginx/conf.d/myapp.conf):

server {
    
    listen 80;
    
    server_name your_domain_or_ip;
  # 替换为域名或服务器IP
    
    location / {
    
        proxy_pass http://127.0.0.1:8000;
      # 转发到Gunicorn
        proxy_set_header Host $host;
    
        proxy_set_header X-Real-IP $remote_addr;
    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

    
    # 可选:处理静态文件(需在Django中配置STATIC_ROOT)
    location /static/ {
    
        alias /path/to/your/static/files/;
  # 替换为静态文件目录
    }

}
    

重启Nginx使配置生效:

sudo systemctl restart nginx

6. 防火墙设置

允许HTTP(80端口)和HTTPS(443端口)流量:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

7. SSL证书(可选,提升安全性)

使用Let’s Encrypt免费获取SSL证书,配置HTTPS:

sudo yum install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain_or_ip  # 替换为域名或IP

按提示完成配置,Certbot会自动修改Nginx配置以支持HTTPS。

8. 常见问题排查

  • 端口冲突:若端口被占用,可通过sudo netstat -tulnp | grep 端口号查找并终止占用进程,或修改应用端口。
  • 权限问题:确保项目目录及文件权限正确(如chown -R nginx:nginx /path/to/project)。
  • 依赖缺失:若运行时报错缺少模块,可通过pip install 模块名安装。

通过以上步骤,即可在CentOS环境下完成Python Web应用的搭建与生产部署。根据项目需求,可进一步优化Nginx配置(如负载均衡、缓存)、数据库集成(如MySQL/PostgreSQL)或使用Docker容器化部署。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Python Web开发如何搭建
本文地址: https://pptw.com/jishu/739322.html
CentOS Python安装优化技巧有哪些 怎样在CentOS上安装第一个应用

游客 回复需填写必要信息