我在macOS中开发我的项目
我希望将产品用于ubuntu(AWS)
(对不起我的低级英语)
$ git clone" myproject" (在ubuntu / AWS中), 我做了很多设置(= MacOs)
pip冻结(在ubuntu中)
boto==2.39.0
decorator==4.0.9
defusedxml==0.4.1
Django==1.9.4
django-debug-toolbar==1.4
django-extensions==1.6.1
django-multiupload==0.5
django-pipeline==1.6.8
django-storages-redux==1.3.2
djangorestframework==3.3.3
hashids==1.1.0
ipython==4.1.2
ipython-genutils==0.1.0
oauthlib==1.0.3
pep8==1.7.0
pexpect==4.0.1
pickleshare==0.7.2
Pillow==3.2.0
psycopg2==2.6.1
ptyprocess==0.5.1
PyJWT==1.4.0
python3-openid==3.0.10
requests==2.9.1
requests-oauthlib==0.6.1
simplegeneric==0.8.1
six==1.10.0
sqlparse==0.1.19
traitlets==4.2.1
pip freeze(我的MacOs)
appnope==0.1.0
boto==2.39.0
decorator==4.0.9
defusedxml==0.4.1
Django==1.9.4
django-debug-toolbar==1.4
django-extensions==1.6.1
django-multiupload==0.5
django-pipeline==1.6.8
django-storages-redux==1.3.2
djangorestframework==3.3.3
gnureadline==6.3.3
hashids==1.1.0
ipython==4.1.2
ipython-genutils==0.1.0
oauthlib==1.0.3
path.py==8.1.2
pep8==1.7.0
pexpect==4.0.1
pickleshare==0.6
Pillow==3.2.0
psycopg2==2.6.1
ptyprocess==0.5.1
PyJWT==1.4.0
python3-openid==3.0.10
requests==2.9.1
requests-oauthlib==0.6.1
simplegeneric==0.8.1
six==1.10.0
sqlparse==0.1.19
traitlets==4.2.1
pwd(在ubuntu中)
(amulldanji) ubuntu@ip-172-31-17-137:~/amulldanji/amulldanji$ pwd
/home/ubuntu/amulldanji/amulldanji
pwd(在MacOs中)
(amulldanji) ☁ amulldanji [feature/init] ⚡ pwd
/Users/hanminsoo/Documents/amulldanji/amulldanji
cat .env(在MacOs中)
pyenv activate amulldanji
echo "##################"
echo "애물단지 프로잭트"
echo "##################"
alias ma="python amulldanji/manage.py"
alias mr="python amulldanji/manage.py runserver"
# 기본 runserver 값은 development로 설정
export DJANGO_SETTINGS_MODULE="amulldanji.settings.development"
# AWS S3및 Cloud front에 접근하기 위한 키
export AWS_ACCESS_KEY_ID="AK-----------------"
export AWS_ACCESS_SECRET_KEY="1--------------------------"
export AWS_BUCKET_NAME="amulldanji"
# postgesql을 사용하기 위한 설정(database.py에서 이용됨)
export DATABASE_NAME="amulldanji"
export DATABASE_USER="deadlylaid"
export DATABASE_PASSWORD="deadlylaid"
cat .env(在ubuntu中)
pyenv activate amulldanji
echo "###############"
echo "amulldanji 배포"
echo "###############"
alias ma="python amulldanji/manage.py"
alias mr="python amulldanji/manage.py runserver"
export DJANGO_SETTINGS_MODULE="amullanji.settings.development"
export AWS_ACCESS_KEY_ID="AK-------------"
export AWS_ACCESS_SECRET_KEY="1--------------------"
export AWS_BUCKET_NAME="amulldanji"
export DATABASE_NAME="amulldanji"
export DATABASE_USER="deadlylaid"
export DATABASE_PASSWORD="deadlylaid"
pip -V(在MacOs中)
pip 7.1.2 from /Users/hanminsoo/.pyenv/versions/3.5.1/envs/amulldanji/lib/python3.5/site-packages (python 3.5)
pip -V(在ubuntu中)
pip 7.1.2 from /home/ubuntu/.pyenv/versions/3.5.1/envs/amulldanji/lib/python3.5/site-packages (python 3.5)
psql(在MacOs中)
psql (9.5.1)
Type "help" for help.
hanminsoo=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
------------+-----------+----------+-------------+-------------+--------------------------
amulldanji | hanminsoo | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =Tc/hanminsoo +
| | | | | hanminsoo=CTc/hanminsoo +
| | | | | deadlylaid=CTc/hanminsoo
hanminsoo | hanminsoo | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
postgres | hanminsoo | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
template0 | hanminsoo | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/hanminsoo +
| | | | | hanminsoo=CTc/hanminsoo
template1 | hanminsoo | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/hanminsoo +
| | | | | hanminsoo=CTc/hanminsoo
sudo -u postgres psql(在ubuntu中)
postgres-# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
------------+----------+----------+-------------+-------------+-------------------------
amulldanji | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | deadlylaid=CTc/postgres
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
amulldanji /设置/ batabase.py
import os
from .base import BASE_DIR
# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ.get("DATABASE_NAME"),
'USER': os.environ.get("DATABASE_USER"),
'PASSWORD': os.environ.get("DATABASE_PASSWORD"),
}
}
python amulldanji / manage.py makemigrations and migrate(在ubuntu中)
python amulldanji/manage.py makemigrations users items
No changes detected in apps 'items', 'users'
python amulldanji/manage.py migrate
Traceback (most recent call last):
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection
self.connect()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 171, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/postgresql/base.py", line 175, in get_new_connection
connection = Database.connect(**conn_params)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError: FATAL: Peer authentication failed for user "deadlylaid"
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "amulldanji/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 89, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/migrations/executor.py", line 20, in __init__
self.loader = MigrationLoader(self.connection)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/migrations/loader.py", line 49, in __init__
self.build_graph()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/migrations/loader.py", line 176, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/migrations/recorder.py", line 65, in applied_migrations
self.ensure_schema()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/migrations/recorder.py", line 52, in ensure_schema
if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 231, in cursor
cursor = self.make_debug_cursor(self._cursor())
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 204, in _cursor
self.ensure_connection()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection
self.connect()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection
self.connect()
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/base/base.py", line 171, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/django/db/backends/postgresql/base.py", line 175, in get_new_connection
connection = Database.connect(**conn_params)
File "/home/ubuntu/.pyenv/versions/amulldanji/lib/python3.5/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
django.db.utils.OperationalError: FATAL: Peer authentication failed for user "deadlylaid"
make: *** [migrate] Error 1
我搜索了如此多的信息..以及如此多的解决方案,但他们无法解决我的问题
请某人帮助我......答案 0 :(得分:2)
您需要在HOST
设置中明确指定数据库PORT
和DATABASES
。当PostgreSQL用户(此处为amulldanji
)与系统用户(此处为ubuntu
)不同时,需要明确定义数据库主机和端口才能使连接正常工作。