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/
Azure Web Apps Service是一种PaaS,可提供多种服务来托管您的网站应用程序.我们有限制安装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)
| 归档时间: |
|
| 查看次数: |
2508 次 |
| 最近记录: |