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

VPS上能否将原WordPress域名用于全新搭建的Django网站?

如何在VPS上用原域名部署Django站点(替换原WordPress)

当然可以继续使用原域名,只需要调整VPS的Web服务器配置,将域名指向新的Django应用即可。直接在原WordPress目录搭建失败大概率是因为旧目录存在权限残留、Web服务器配置冲突等问题,以下是标准的实现步骤:

一、清理旧环境残留

  • 确认原WordPress的所有文件、目录已彻底删除,包括Web服务器(Nginx/Apache)中对应的旧站点配置文件(通常在/etc/nginx/sites-available/或/etc/apache2/sites-available/下)
  • 若原WordPress使用了数据库(如MySQL),可删除对应数据库(无需保留的话),避免资源占用;如需保留,确保Django使用独立的数据库实例

二、搭建Django运行环境(以Debian/Ubuntu为例)

  • 更新系统并安装Python基础依赖:
    sudo apt update && sudo apt install python3 python3-pip
    
  • 安装虚拟环境工具并创建隔离环境(建议新建干净目录,比如/var/www/my_django_site,不要用原WordPress旧目录):
    pip3 install virtualenv
    cd /var/www/my_django_site
    virtualenv venv
    source venv/bin/activate
    
  • 安装Django和WSGI服务器:
    pip install django gunicorn
    

三、创建并配置Django项目

  • 在激活的虚拟环境中初始化项目:
    django-admin startproject mysite .
    
  • 修改mysite/settings.py核心配置:
    • 将ALLOWED_HOSTS设置为你的域名:
      ALLOWED_HOSTS = ['your-domain.com', 'www.your-domain.com']
      
    • 配置静态文件存储路径:
      STATIC_URL = '/static/'
      STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
      
  • 生成静态文件并测试项目:
    python manage.py collectstatic
    python manage.py runserver 0.0.0.0:8000
    
    此时用浏览器访问http://你的VPSIP:8000,能看到Django默认页面即为配置成功

四、配置Web服务器(以Nginx为例)

  • 安装Nginx并删除旧站点配置:
    sudo apt install nginx
    sudo rm /etc/nginx/sites-enabled/wordpress.conf  # 替换成你的旧WP配置文件名
    
  • 创建新的Django站点配置文件:
    sudo nano /etc/nginx/sites-available/my_django_site
    
    写入以下内容(替换域名和项目路径):
    server {
        listen 80;
        server_name your-domain.com www.your-domain.com;
    
        location /static/ {
            root /var/www/my_django_site;
        }
    
        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;
        }
    }
    
  • 启用配置并重启Nginx:
    sudo ln -s /etc/nginx/sites-available/my_django_site /etc/nginx/sites-enabled/
    sudo nginx -t  # 测试配置是否合法
    sudo systemctl restart nginx
    

五、后台持久运行Django应用

  • 创建systemd服务文件:
    sudo nano /etc/systemd/system/gunicorn.service
    
    写入以下内容(替换用户名和项目路径):
    [Unit]
    Description=gunicorn daemon
    After=network.target
    
    [Service]
    User=your-username
    Group=www-data
    WorkingDirectory=/var/www/my_django_site
    ExecStart=/var/www/my_django_site/venv/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 mysite.wsgi:application
    
    [Install]
    WantedBy=multi-user.target
    
  • 启动并启用服务:
    sudo systemctl start gunicorn
    sudo systemctl enable gunicorn
    
  • 检查服务状态:
    sudo systemctl status gunicorn
    

六、域名解析确认

登录你的域名注册商后台,确保域名的A/AAAA记录仍指向当前VPS的公网IP(和原WordPress配置一致即可,无需修改)

常见问题排查

  • 出现502错误:检查gunicorn服务是否正常运行,端口8000是否被占用
  • 静态文件加载失败:确认STATIC_ROOT路径正确,collectstatic已执行,Nginx的静态文件配置路径无误
  • 权限问题:确保Django项目目录的用户组为www-data,避免Web服务器无法读取文件

内容的提问来源于stack exchange,提问作者Anderson Santana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:10:52