【问题标题】:Internal Server Error during migration to mysql-django-uwsgi-nginx迁移到 mysql-django-uwsgi-nginx 期间出现内部服务器错误
【发布时间】:2017-12-06 03:00:39
【问题描述】:

我一直在关注这个tutorial

但是我决定迁移到 mysql 数据库,但我得到的只是主页上的内部服务器错误文本,通常你从 django 得到非常准确的解释为什么会发生错误(是的 DEBUG = True)。

如果我在 settings.py 中切换回 sqlite,它会再次工作,但我不认为 sqlite 是用于生产的,所以我需要不同的数据库,如 mysql。

你知道为什么会发生这个错误,或者至少我在哪里可以找到错误日志? 我正在失去理智来破解这个。我知道问题出在 mysql 但在哪里!

我试图检查我是否安装了我需要的东西:

sudo apt-get install libmysqlclient-dev
sudo pip3 install mysqlclient
sudo apt-get install python-mysqldb

但它们已经安装了

我尝试重置实例:

sudo systemctl restart uwsgi
sudo systemctl daemon-reload
sudo systemctl restart uwsgi
sudo nginx -t && sudo systemctl restart nginx

我尝试设置不同的settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',#or mysql.connector.django
        'NAME': 'db',
        'USER':'username',
        'PASSWORD':'password',
        'HOST': 'localhost', # or ip-address where the site is hosted
        'PORT': '3306', # or ''
    }
}

【问题讨论】:

    标签: python mysql django sqlite nginx


    【解决方案1】:

    这发生在我身上,因为我使用了与您相同的教程。可能发生的主要原因是您没有激活虚拟环境并安装pip install mysqlclient。您安装它并重新启动 uwsgi 它应该可以工作。

    【讨论】:

      【解决方案2】:

      您是否在更改数据库后运行了迁移?

      python manage.py migrate
      

      【讨论】:

      • 是的,我做了 sudo -H python3 manage.py makemigrations 和 sudo -H manage.py migrate... 如果我这样做有没有激活 virtualenv 有区别吗?
      猜你喜欢
      • 1970-01-01
      • 2015-07-21
      • 2019-02-05
      • 2015-09-22
      • 2017-08-31
      • 2013-07-07
      • 1970-01-01
      • 2016-02-16
      • 2012-07-10
      相关资源
      最近更新 更多