我正在尝试使用digital ocean部署一个项目。我按照https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04上的指示进行操作。 其中的一些重要步骤: 我运行了:
postgres=# CREATE DATABASE jobzumoDB;
CREATE DATABASE
之后:
postgres=# CREATE USER admin WITH PASSWORD '123';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jobzumoDB TO admin;
GRANT
在settings.py中设置以下内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'jobzumoDB',
'USER':'admin',
'PASSWORD':'123',
'HOST':'localhost',
'PORT':'',
}
然后尝试运行:
~/jobzumo/manage.py makemigrations
并获得:
File "/home/justin/jobzumo/env/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: database "jobzumoDB" does not exist
两件事情:
ALLOWED_HOSTS = ['jobzumo.com', '142.93.184.125']
我尚未将jobzumo.com连接到Digital Ocean,但已从我的droplet复制了IP地址。
此外,我运行了以下命令:pip install django gunicorn psycopg2
(来自Digital Ocean)。
但是,YouTube上的教程说现在安装psycopg2-binary
非常重要,然而,由于该视频偏离了Digital Ocean的教程,所以我没有这样做。
感谢任何帮助,在开始理解Django之后,我没想到部署会这么费脑筋。
sudo -u postgres psql -d jobzumoDB -U admin -W 123
- nthallpsql:致命错误:用户"admin"的同行身份验证失败
。 - Justin