使用Postgresql数据库创建Azure Web App(可能吗?)

Has*_*aig 2 python django postgresql heroku azure

我使用Heroku来托管带有postgres后端的Django Web应用程序.我现在正在寻求将此Web应用程序迁移到Azure,充分利用了Azure最近提供的大量优势.

但我对一件事情感到困惑:我如何用postgresql作为数据库在Azure上创建一个Django网站?我成功创建了一个Django网站,将它连接到git,但我似乎无法将它的DB更改为postgresql.

因此,当我这样做时git push azure master,我得到错误:命令python setup.py egg_info失败,错误代码1在D:\ home\site\wwwroot\env\build\psycopg2它在psycopg2(postgresql)上失败.

其次,一旦我在Azure Web App上成功安装postgresql,我就需要调整它的postgresql.conf文件来调整设置(默认值太低).我该怎么办?


该文档仅讨论如何为使用Linux的Azure VM安装PG,而不是Azure Web App:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-postgresql/

Gar*_*SFT 5

Azure Web Apps Service是一种Pa​​aS,可提供多种服务来托管您的网站应用程序.我们有限制安装PostgreSQL的权限.

目前,要在Azure上托管PostgreSQL,您可以利用Linux的虚拟机来提及@theadriangreen.您可以使用SSH命令ssh user@VMhost远程登录Linux VM并设置PG配置.您可以参考YoLinux教程:PostgreSQL数据库和Linux,了解有关Linux上的PG的更多信息.

此外,您还可以在Azure附加组件市场中创建包含PostgreSQL映像的docker.

登录预览管理门户,在搜索栏中单击新建=>搜索"postgres",您可以找到docker提供的postgres服务.

在此输入图像描述

您还可以通过SSH远程访问此VM以设置PG配置.

如果要与PG服务器建立直接TCP连接,则需要在入站安全规则中添加5432端口.

在上面创建的VM服务器的"所有设置"中,单击"网络接口"=>单击正在使用的界面=>单击正在使用的网络安全组名称,可以在设置页面中找到入站安全规则.

在此输入图像描述

然后,您可以测试PG服务的连接:

import psycopg2

try:
    conn = psycopg2.connect(database="postgres", user="postgres", password="{password}", host="{host_ip}", port="5432")
    print "Opened database successfully"

    cur = conn.cursor()

    cur.execute("SELECT ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3]");
    rows = cur.fetchall()
    print(rows)

    conn.commit()
    print "Records created successfully";
    conn.close()
except Exception, e:
    print "I am unable to connect to the database"
Run Code Online (Sandbox Code Playgroud)