首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在7实例上安装Django,PostgreSQL

在7实例上安装Django,PostgreSQL
EN

Stack Overflow用户
提问于 2014-06-04 05:41:40
回答 3查看 2.1K关注 0票数 1

我正试图在上部署Django应用程序。我正在使用Debian 7映像,并希望设置Django与Nginx,Gunicorn,virtualenv,主管和PostgreSQL。我在我的开发机器上运行一切都很好,它运行Ubuntu14.04,安装了Django,PostgreSQL作为后端。

我正在使用位于http://datacommunitydc.org/blog/2013/12/a-tutorial-for-deploying-a-django-application-that-uses-numpy-and-scipy-to-google-compute-engine-using-apache2-and-modwsgi/的教程。我还使用了位于http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/的教程,因为它是针对在我的开发机器上使用的virtualenv和PostgreSQL的。我已经设置了我的GCE实例,安装并更新了智能。但是,当我试图为应用程序创建一个数据库用户和一个新的数据库时,我已经安装了PostgreSQL,但是我得到了一个错误,什么都没有创建。

下面是我运行的教程:

$ sudo su - postgres postgres@django:~$ createuser -P Enter name of role to add: hello_django Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n

当它试图创建新的用户角色时,我会收到以下错误:

createuser: could not connect to database postgres: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

当我运行shell脚本ls /etc/init.d时,它说postgresql正在运行,但我仍然不能添加新角色。有人能告诉我我做错了什么吗?

致以问候。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-24 03:55:45

我刚刚也遇到了同样的问题。

这很可能是因为postgres集群尚未初始化。之所以没有自动安装,是因为您已经设置了该框的区域设置。这也是在亚马逊EC2实例上必须做的事情。

你得跑:

代码语言:javascript
复制
sudo apt-get install locales

然后:

代码语言:javascript
复制
sudo dpkg-reconfigure locales

我必须选择我想要设置的地区,我选择了en_AU UTF-8。

在此之后,我重新启动,然后可以运行它来初始化集群:

代码语言:javascript
复制
sudo pg_createcluster 9.1 main --start

这启动了服务,并创建了pg_hba.conf文件等。

票数 1
EN

Stack Overflow用户

发布于 2014-06-04 14:20:28

我无法在我的终端上重现这个问题,但这似乎是PostgreSQL及其依赖项的一个问题。您可以尝试删除所有已安装的PostgreSQL组件和依赖项,然后重新安装PostgreSQL:

代码语言:javascript
复制
sudo apt-get remove --purge postgresql-9.1*
sudo apt-get install postgresql-9.1

如果它仍然无法连接到数据库,那么问题可能源于您的$PATH,在这种情况下,您需要将其指向/usr/local/bin/psql

票数 2
EN

Stack Overflow用户

发布于 2014-07-01 07:16:04

不久前,我也遇到了类似的问题。它可以使用几个简单的步骤来解决:

  1. 作为postgres用户运行: initdb --locale en_US.UTF-8 -E UTF8 -D 'var/lib/postgres/data‘。注意,根据命令中的发行版postgres,可以是pgsql。您可以使用ls命令轻松地检查目录是否存在。
  2. systemctl启动postgresql (如果您有systemd)或仅仅一个/etc/init.d/postgresql就可以了。这些命令必须作为超级用户使用。

所有这些都来自ArchWiki

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24029854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档