毕业论文需要在云上部署一个博客系统并进行渗透测试,系统细节:
Flask+Mysql
在AWS和Azure上都尝试了几天,发现Azure部署好像比AWS需要考虑的组件少(Azure提供的App Service可以直接通过Github Actions实现持续部署),后来在Azure上部署了3天终于成功,其中遇到了一些坑。
详细步骤:
1)创建资源组(resource group)
2)创建数据库(可以用Azure Database for MySQL,设置允许客户端网络后可以通过本地Workbench操作数据表,好像这个比AWS方便一些)
3)创建Web应用
Azure的应用程序服务提供了三种不同的选项,不是很推荐直接创建Web+数据库,因为这样关于数据库的很多操作都会受限,建议分开创建数据库和web应用
!!有一个隐藏的坑,是Azure好像只接受这个应用叫“app”,哪怕你的application.py文件在启动的gunicorn命令里写了application:application,也会报错...把应用名字改成app,用app=Flask(__name__) 就可以.......
下面是一些坑:
1)关于部署位置:
首先一个坑就是,一般Azure部署之后的网站是:https://<your-website-name>.azurewebsites.net,然后它的控制台其实是:https://<your-website-name>.scm.azurewebsites.net
重点来了,有的教学视频进入控制台的wwwroot目录之后,可以直接上传文件,但实际操作发现是不可以的,必须到这里:
https://<your-website-name>.scm.azurewebsites.net/newui/FileManager
。。。。。关键是这个网站我找遍全网,只在stackoverflow上看到,这个FileManager可以直接通过拖拉上传本地文件,方便后续上传一些requirements.txt和st