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

Windows Server EC2实例部署Django应用遇端口权限及域名跳转问题

问题解决步骤

1. 修复端口80权限报错(WinError 10013)

Windows系统中,非管理员账号无法直接使用1024以下的端口,直接运行python manage.py runserver 0.0.0.0:80会触发权限错误,可通过两种方式解决:

  • 以管理员身份执行命令:右键点击命令提示符/PowerShell,选择「以管理员身份运行」,再执行python manage.py runserver 0.0.0.0:80。
  • 改用高位端口:换成8000这类1024以上的端口,命令为python manage.py runserver 0.0.0.0:8000,后续通过Apache反向代理转发请求到该端口。

2. 停止域名自动跳转到XAMPP Dashboard

XAMPP的Apache默认配置会将根路径请求导向dashboard,需修改配置取消跳转:

  • 打开XAMPP安装目录下的apache\conf\httpd.conf,找到<Directory "xampp安装路径/htdocs">段落,检查DirectoryIndex配置,删除或注释掉指向dashboard的规则,确保默认首页设置为正常的索引文件。
  • 同时检查apache\conf\extra\httpd-vhosts.conf,确认自定义域名的虚拟主机配置中没有强制跳转dashboard的规则。

3. 配置Apache反向代理,让自定义域名指向Django应用

通过Apache做反向代理,实现域名访问Django,同时保留XAMPP的MySQL服务:

  1. 启用代理模块:打开httpd.conf,取消注释以下两行(删掉行首的#):
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    
  2. 配置虚拟主机:打开httpd-vhosts.conf,添加自定义域名的配置:
    <VirtualHost *:80>
        ServerName yourdomain.com  # 替换为你的自定义域名
        ProxyPreserveHost On
        ProxyPass / http://127.0.0.1:8000/  # 端口需与Django runserver的端口一致
        ProxyPassReverse / http://127.0.0.1:8000/
    </VirtualHost>
    
  3. 重启Apache服务,启动Django服务:python manage.py runserver 127.0.0.1:8000,此时访问自定义域名即可直接进入Django应用。

4. 配置Django连接XAMPP的MySQL

修改Django项目settings.py中的数据库配置,连接XAMPP的MySQL服务:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_db_name',  # 替换为你在XAMPP MySQL中创建的数据库名
        'USER': 'root',  # XAMPP MySQL默认用户为root
        'PASSWORD': '',  # 若设置过MySQL密码则填入
        'HOST': '127.0.0.1',
        'PORT': '3306',  # XAMPP MySQL默认端口
    }
}

安装MySQL Python驱动:pip install mysqlclient,再执行python manage.py migrate完成数据库迁移。

内容的提问来源于stack exchange,提问作者Muhammad Zarak Aamer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:10:21