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

Apache2服务器域名配置求助:Django站点域名绑定失败解决方案

简单可行的Apache2绑定GoDaddy域名配置步骤

Hey,我来帮你搞定这个域名绑定的问题,步骤很简单,咱们一步步来:

  • 第一步:先搞定GoDaddy的DNS解析
    登录GoDaddy的域名管理后台,找到你的www.mydomain.com域名:

    • 进入DNS设置页面,添加/修改A记录:主机填www,值填你的服务器公网IP,TTL选默认或短一点(比如5分钟,让解析生效更快)
    • 如果想支持不带www的mydomain.com访问,再添加一条A记录:主机填@,值同样是服务器IP;或者把www的CNAME记录指向@
    • 等10-30分钟让DNS生效,你可以在本地终端用nslookup www.mydomain.com测试,确认能解析到你的服务器IP
  • 第二步:创建单独的Apache虚拟主机配置文件
    为了不影响第一个站点,咱们给第二个站点单独建配置文件:

    1. 先备份默认配置以防万一:sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak
    2. 新建域名配置文件:sudo nano /etc/apache2/sites-available/mydomain.conf
    3. 把下面的配置粘进去,记得替换成你自己的项目路径和信息:
      return (<VirtualHost *:80>
          ServerName www.mydomain.com
          ServerAlias mydomain.com  # 可选,支持不带www的访问
      
          # Django项目WSGI核心配置
          WSGIScriptAlias / /path/to/your/second-django-project/wsgi.py
          WSGIDaemonProcess mydomain.com python-path=/path/to/your/second-django-project python-home=/path/to/your/virtualenv
          WSGIProcessGroup mydomain.com
      
          # 静态文件映射(要先执行过Django的collectstatic命令)
          Alias /static/ /path/to/your/second-django-project/static/
          <Directory /path/to/your/second-django-project/static/>
      )
      Require all granted
      </Directory>
      
      # 媒体文件映射(如果项目有上传功能的话)
      Alias /media/ /path/to/your/second-django-project/media/
      <Directory /path/to/your/second-django-project/media/>
          Require all granted
      </Directory>
      
      # WSGI文件目录权限配置
      <Directory /path/to/your/second-django-project/>
          <Files wsgi.py>
              Require all granted
          </Files>
      </Directory>
      
      ErrorLog ${APACHE_LOG_DIR}/mydomain-error.log
      CustomLog ${APACHE_LOG_DIR}/mydomain-access.log combined
      
    4. 替换说明:把/path/to/your/second-django-project换成第二个Django项目的实际路径;如果没用虚拟环境,删掉WSGIDaemonProcess里的python-home=/path/to/your/virtualenv部分
  • 第三步:更新Django的ALLOWED_HOSTS
    打开第二个Django项目的settings.py,找到ALLOWED_HOSTS,修改成:

    ALLOWED_HOSTS = ['www.mydomain.com', 'mydomain.com', '原来的访问链接']
    

    这样既保留原访问方式,又支持新域名

  • 第四步:启用新站点并生效配置

    1. 启用新的虚拟主机:sudo a2ensite mydomain.conf
    2. 检查配置语法是否正确:sudo apache2ctl configtest,出现Syntax OK就没问题
    3. 重启Apache服务:sudo systemctl restart apache2
  • 第五步:测试访问
    现在打开浏览器访问www.mydomain.com,应该就能正常打开你的第二个Django站点了。如果还是不行,先确认DNS是否生效,再查看Apache错误日志/var/log/apache2/mydomain-error.log排查问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:39:16