Azure App 部署 Django 和 PostgrSQL
[toc]
承前
最近接了个需求,部署一套Python下的Web项目到微软Azure 云上去,yann 之前较少接触 Azure ,所以记录下一免得忘记。
列表
Create an Azure Database for PostgreSQL database
Deploy code to Azure App Service and connect to Postgres
Update your code and redeploy
View diagnostic logs
Manage the web app in the Azure portal
需要的工作如下:
为PostgreSQL数据库创建对应的Azure数据库
将代码部署到Azure App Service并连接到Postgres上
更新代码并重新部署
查看诊断日志
在Azure面版中管理Web应用
步骤
Install dependencies
安装依赖,需要 Azure CLI,git 和 Python3,另外两个已经有了,Azure CLI 了解一下:
中间的命令是有引号的,大家可以熟悉一下。习惯了 EOF的写法,这是另外一种生成配置的方式。
Clone the sample app
部署项目属于私人信息,这里放官方实例,效果是一样的,下载代码。
Prepare app for App Service
准备应用服务,都是一些常规设置:
继承 azuresite/settings.py 的设置
把域名添加到允许的主机设置里
使用WhiteNoise 软件提供静态文件
添加PostgreSQL数据库的配置
Postgres配置使用环境变量
以上大部分配置都在 settings.py 里,需要的软件通过 requirements.txt 安装
下面为另外一此配置,同样是Python项目发布时需要的:
Sign in to Azure CLI
到上面为止,所有操作都在本地进行,下面要通过 CLI 连接到 Azure 云里去配置和发布。
通过 az login 登录Azure 云, 相关认证问题,请看网站说明。
Create Postgres database in Azure
创建数据库,先安装db扩展,再配置数据库
命令比较长,包括了以下内容(有些是默认提供):
创建一个资源组
用管理用户创建一个Postgres服务器
创建一个pollsdb数据库
允许从本地IP地址访问
允许从Azure服务进行访问
创建一个有权访问pollsdb数据库的数据库用户
Deploy the App Service app
部署 app 分几个小步骤,让我们来依次查看:
创建应用服务应用
配置环境变量
运行数据库迁移
浏览到Azure应用
创建应用服务应用
命令依然很长,做的事包括生成资源组,创建App Service应用程序,启用应用程序的默认日志记录。在启用了构建自动化的情况下,会使用ZIP部署上传存储库。
在输出结果中,复制<app-resource-group>的值。
配置环境变量
通过环境变量传递生产数据库的配置值
运行数据库迁移
Django 的标志操作之一,数据库迁移。
浏览到Azure应用
理论上访问 http://<app-name>.azurewebsites.net/admin ,可以看到页面了,类似这样。
Develop app locally and redeploy
这一段讲的是本地调试和代码更新的例子
修改代码
本地数据库更新,迁移,服务器运行
验证成功后,更新到 Azure 云上面
Stream diagnostic logs
查看诊断日志流,Azure 的设置是应用启动时会开启日志流,过一段时间会自动关闭。
Manage your app in the Azure portal
可以在 Azure 云的控制面板上进行可视化管理,请自行查看。
Clean up resources
环境清理,yann 这边用不到,姑且记录一下:
总结
这次的内容其实很简单,只是想实践一个相法,「厂家的文档很完善也很易懂,遇到问题去查csdn 或简书不是个好习惯」。
评论