You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:基于AlmaLinux 8 Plesk部署Django应用

Django项目部署指南(Plesk + AlmaLinux 8环境)

1. 服务器环境准备

  • 在Plesk面板的「工具与设置」→「Python版本管理」中,确认安装Python 3.8及以上版本(Django 3.x+的最低要求),若未安装则添加对应版本。
  • 通过SSH连接服务器,安装系统级依赖:
    dnf install gcc python3-devel mysql-devel -y
    
  • 若项目用MySQL数据库,需在Plesk「网站与域名」→「数据库」中创建数据库及授权用户,记录好数据库名、用户名和密码。

2. 上传项目并配置虚拟环境

  • 用Plesk「文件管理器」上传Django项目文件到服务器的网站根目录(默认路径:/var/www/vhosts/你的域名/httpdocs/),或通过Git克隆项目:
    git clone 你的项目仓库地址 /var/www/vhosts/你的域名/httpdocs/
    
  • 进入项目目录,创建并激活虚拟环境:
    cd /var/www/vhosts/你的域名/httpdocs/
    python3 -m venv venv
    source venv/bin/activate
    

3. 安装项目依赖

  • 安装Django及项目所需依赖:
    pip install --upgrade pip
    pip install -r requirements.txt
    
  • 安装WSGI服务器(推荐uWSGI,适配Plesk环境):
    pip install uwsgi
    

4. Django项目核心配置

  • 修改项目根目录下的settings.py:
    • 关闭调试模式:DEBUG = False
    • 添加允许访问的主机:ALLOWED_HOSTS = ['你的域名', '服务器公网IP']
    • 配置静态文件收集路径:
      STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
      STATIC_URL = '/static/'
      
    • 配置数据库(以MySQL为例):
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql',
              'NAME': '你在Plesk创建的数据库名',
              'USER': '数据库用户名',
              'PASSWORD': '数据库密码',
              'HOST': 'localhost',
              'PORT': '3306',
          }
      }
      
  • 执行数据库迁移与静态文件收集:
    python manage.py migrate
    python manage.py collectstatic --noinput
    

5. Plesk面板网站配置

  • 进入「网站与域名」→「Python」,选择对应Python版本,设置:
    • 应用程序根目录:/var/www/vhosts/你的域名/httpdocs/
    • 应用程序启动文件:你的项目名/wsgi.py(如myproject/wsgi.py)
    • 点击「确定」保存配置,Plesk会自动启动WSGI服务。
  • 配置静态/媒体文件访问:进入「网站与域名」→「Apache & nginx设置」,在「附加nginx指令」中添加:
    location /static/ {
        alias /var/www/vhosts/你的域名/httpdocs/staticfiles/;
    }
    location /media/ {
        alias /var/www/vhosts/你的域名/httpdocs/media/;
    }
    
  • 开启HTTPS:在「网站与域名」→「SSL/TLS证书」中,安装免费Let’s Encrypt证书,强制HTTPS访问。

6. 测试与故障排查

  • 重启网站后,访问你的域名验证是否正常加载。
  • 若出现错误,查看Plesk「网站与域名」→「日志」中的「错误日志」,或Django项目根目录下的日志文件定位问题。
  • 确保服务器防火墙开放80/443端口:
    firewall-cmd --add-service=http --permanent
    firewall-cmd --add-service=https --permanent
    firewall-cmd --reload
    

内容的提问来源于stack exchange,提问作者Umut Kılıçkan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:12:40