部署Flask后端Api,实战用Docker部署云托管服务=“内联”>了解更多开源,请访问:开源基础软件社区https://ost.51cto.com在上一篇文章我们讲了如何使用docker部署nginx应用网站。在本文中,我们将部署我们的后端API。这次我们尝试同时部署在服务器和微信云主机上。部署在云主机上也是个人开发者的另一种选择这种选择(个人认为)省事不用自己运维,也可以可视化监控资源。而微信云主机的好处就是可以在小程序公众号连接内网,从而避免了可能的ddos。Preparation准备Docker,准备后端。这是使用pythonflask框架制作的后端。该框架的优点之一是它简单且轻量级。我的后端太长了,所以我不会给你看。您可以使用以下代码进行操作。fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello():return'hellodocker&flask'if__name__=='__main__':app.run(debug=True,host='0.0.0.0',port=int(os.environ.get('PORT',5000)))下载docker这里我们使用docker进行部署,所以需要先下载docker。详情见我这篇文章,这里我们来加速。这里是服务器的操作,对于云主机来说还是比较简单的。1.卸载旧版本首先使用:sudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine卸载旧版本,if如果是(自己判断)。2.设置下载源sudoyuminstall-yyum-utilssudoyum-config-manager\--add-repo\http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo设置好之后就可以下载了。下载代码如下。sudoyuminstalldocker-cedocker-ce-clicontainerd.iodocker-compose-plugin注意:本次下载的是最新版本。如果需要下载指定版本,可以看我上面提到的那篇文章。3、设置镜像加速,选择多个USTC镜像:https://docker.mirrors.ustc.edu.cn/网易:https://hub-mirror.c.163.com/阿里云:https://<你的ID>.mirror.aliyuncs.com七牛云加速器:https://reg-mirror.qiniu.comsudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["你的加速地址"]}EOFsudosystemctldaemon-reloadsudosystemctlrestartdocker完成后,可以使用dockerinfo查看是否修改成功。如果这个注册表镜像变成了你写的地址,那么就成功了。然后我们需要先把我们的后端代码放到我们的服务器中。4.放入文件找到你的python文件的地址,用ftp传到你喜欢的位置像我一样。cd进去然后打开Xftp把文件传进去。Dockerfile文件这里的Dockerfile可以用你的编辑器(pycharm)写好放进去,也可以在服务器自己创建。我是先在编辑器中创建的,但我是在服务器中创建的。进行了修改。注:这里我命名为官方推荐的名称(Dockerfile)。如果这样命名,则不需要自己指定文件,否则需要在构建时自己指定文件。需求文件在pycharm中生成也很好。我们只需要创建这个文件(requirements.txt),他就会得到提示。这就是它的生成方式。终于有了这样的结构。5.配置Dockerfile接下来我们只需要配置Dockerfile就基本完成了。这并不困难。而且这个文件也可以用于云托管。配置如下:#首先下载一个可以运行flask的基础镜像FROMtiangolo/uwsgi-nginx-flask:python3.6#设置作者信息MAINTAINERAasee
