我正试图在上部署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正在运行,但我仍然不能添加新角色。有人能告诉我我做错了什么吗?
致以问候。
发布于 2014-06-24 03:55:45
我刚刚也遇到了同样的问题。
这很可能是因为postgres集群尚未初始化。之所以没有自动安装,是因为您已经设置了该框的区域设置。这也是在亚马逊EC2实例上必须做的事情。
你得跑:
sudo apt-get install locales然后:
sudo dpkg-reconfigure locales我必须选择我想要设置的地区,我选择了en_AU UTF-8。
在此之后,我重新启动,然后可以运行它来初始化集群:
sudo pg_createcluster 9.1 main --start这启动了服务,并创建了pg_hba.conf文件等。
发布于 2014-06-04 14:20:28
我无法在我的终端上重现这个问题,但这似乎是PostgreSQL及其依赖项的一个问题。您可以尝试删除所有已安装的PostgreSQL组件和依赖项,然后重新安装PostgreSQL:
sudo apt-get remove --purge postgresql-9.1*
sudo apt-get install postgresql-9.1如果它仍然无法连接到数据库,那么问题可能源于您的$PATH,在这种情况下,您需要将其指向/usr/local/bin/psql。
发布于 2014-07-01 07:16:04
不久前,我也遇到了类似的问题。它可以使用几个简单的步骤来解决:
所有这些都来自ArchWiki。
https://stackoverflow.com/questions/24029854
复制相似问题