资源栈 - www.zyz88.com

Wagtail建站教程:基于Django的Python开源CMS安装配置指南

admin
2026-09-12 1 阅读 0 评论 0 点赞

Wagtail是一款基于Django框架开发的开源内容管理系统,以BSD协议开源,完全免费商用。Wagtail诞生于2014年,由英国设计公司Torchbox开发,以优雅的编辑界面、灵活的页面树结构、强大的内容建模著称。Wagtail采用Python开发,深度集成Django框架,支持自定义内容类型、多语言、工作流、权限管理,适合搭建企业官网、媒体网站、教育平台、政府门户、大型内容平台。

核心优势:基于Django框架(Python开发者友好)、优雅直观的编辑界面、灵活的页面树结构、强大的内容建模(自定义页面类型)、内置图片处理、多语言支持、工作流审批、细粒度权限管理、完全免费商用、代码结构清晰。Wagtail是Python/Django开发者首选的CMS。

本文目录

环境要求

  • 操作系统:Linux(Ubuntu/Debian/CentOS)、Windows、macOS
  • Python版本:Python 3.9 ~ 3.12(Wagtail 6.x推荐Python 3.11/3.12)
  • Django版本:Django 4.2 LTS 或 5.0+
  • 数据库:PostgreSQL 12+(推荐)/ MySQL 8+ / SQLite 3
  • 内存:最低512MB,推荐1GB以上
  • 磁盘:至少500MB可用空间
  • Web服务器:Nginx + Gunicorn/uWSGI(生产环境)
  • Python包:pip、virtualenv、Django、Wagtail

安装教程

步骤1:安装Python和pip

apt update
apt install -y python3 python3-pip python3-venv python3-dev build-essential
python3 --version
pip3 --version

步骤2:安装PostgreSQL(推荐)

apt install -y postgresql postgresql-contrib
systemctl enable postgresql
systemctl start postgresql
# 创建数据库和用户
su - postgres -c "psql -c \"CREATE DATABASE wagtail;\""
su - postgres -c "psql -c \"CREATE USER wagtail_user WITH PASSWORD 'your_strong_password';\""
su - postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE wagtail TO wagtail_user;\""

步骤3:创建虚拟环境并安装Wagtail

mkdir -p /var/www/wagtail
cd /var/www/wagtail
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install wagtail gunicorn psycopg2-binary

步骤4:创建Wagtail项目

wagtail start mysite .
# 配置数据库连接
# 编辑 mysite/settings/base.py,修改DATABASES配置

编辑 mysite/settings/base.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'wagtail',
        'USER': 'wagtail_user',
        'PASSWORD': 'your_strong_password',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

步骤5:运行数据库迁移和创建管理员

python manage.py migrate
python manage.py createsuperuser
# 按照提示设置用户名、邮箱、密码
python manage.py collectstatic --noinput

步骤6:启动开发服务器测试

python manage.py runserver 0.0.0.0:8000

访问 http://your-server-ip:8000/admin 登录后台。

步骤7:配置Gunicorn和Systemd(生产环境)

创建Gunicorn systemd服务:

cat > /etc/systemd/system/wagtail.service << 'EOF'
[Unit]
Description=Gunicorn serving Wagtail
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/wagtail
Environment="PATH=/var/www/wagtail/venv/bin"
ExecStart=/var/www/wagtail/venv/bin/gunicorn --workers 3 --bind unix:/var/www/wagtail/wagtail.sock mysite.wsgi:application

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable wagtail
systemctl start wagtail
systemctl status wagtail

步骤8:Nginx配置

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location /static/ {
        alias /var/www/wagtail/static/;
        expires 30d;
        add_header Cache-Control "public, immutable";
    }

    location /media/ {
        alias /var/www/wagtail/media/;
        expires 30d;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/var/www/wagtail/wagtail.sock;
    }
}

步骤9:登录后台

访问 http://yourdomain.com/admin 登录Wagtail管理后台。Wagtail后台功能包括:页面管理(页面树)、内容编辑、媒体管理、用户管理、角色权限、工作流、设置等。

Windows环境安装

  1. 从Python官网(https://www.python.org)下载Python 3.11安装,勾选"Add Python to PATH"
  2. 安装PostgreSQL for Windows(https://www.postgresql.org/download/windows/
  3. 打开命令提示符,执行:pip install wagtail gunicorn psycopg2-binary
  4. 执行:wagtail start mysite创建项目
  5. 编辑mysite/settings/base.py配置数据库连接
  6. 执行:python manage.py migrate && python manage.py createsuperuser
  7. 执行:python manage.py runserver启动开发服务器
  8. 浏览器访问http://localhost:8000/admin登录后台

宝塔面板安装(推荐)

  1. 安装宝塔面板,登录后安装Python项目管理器(或Python管理器)
  2. 在软件商店安装PostgreSQL
  3. 通过Python项目管理器创建项目,选择Python 3.11,框架选择Django
  4. 在项目终端执行:pip install wagtail psycopg2-binary
  5. 执行:wagtail start mysite .创建项目
  6. 配置数据库连接,执行迁移和创建管理员
  7. 在宝塔面板添加站点,配置Nginx反向代理到Python项目端口
  8. 配置静态文件和媒体文件目录
  9. 访问域名/admin登录后台

服务器配置建议

  • 内存:建议1GB以上,Wagtail + PostgreSQL + Gunicorn运行需要约512MB
  • Python:使用Python 3.11/3.12,使用虚拟环境隔离依赖
  • 数据库:生产环境推荐PostgreSQL 15,配置shared_buffers=256MB
  • Gunicorn:设置workers=2*CPU核数+1,配置超时和日志
  • 使用Systemd或Supervisor管理进程
  • Nginx:配置静态文件和媒体文件直接服务,动态请求代理到Gunicorn
  • 配置Redis缓存(Django内置支持)
  • 定期备份PostgreSQL数据库和media目录
  • 生产环境设置DEBUG=False,配置ALLOWED_HOSTS

常见问题

Q:安装时提示"缺少Python开发包"?
A:执行apt install python3-dev build-essential安装编译依赖。

Q:静态文件不显示?
A:执行python manage.py collectstatic --noinput收集静态文件,确认Nginx配置中static目录路径正确。

Q:数据库连接失败?
A:确认PostgreSQL服务运行,检查settings/base.py中的数据库配置,确认数据库用户权限正确。

Q:忘记管理员密码?
A:执行python manage.py changepassword admin重置密码,或在Django shell中修改用户密码。

官方网址

Wagtail官网地址:https://wagtail.org

文章标题 Wagtail建站教程:基于Django的Python开源CMS安装配置指南
本文由 资源栈 原创发布,转载请注明出处并保留原文链接。