下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

三分钟部署Python Web应用,云开发了解一下?

作者:匿名     来源: 云计算点击数:484发布时间: 2023-02-11 22:02:35

标签: PythonWeb应用

  本文通过介绍使用云托管服务,教大家如何尽可能减免部署难度,减轻负担。

  新手在平时开发Web应用时,由于对Linux系统的不熟悉,往往会遇到一些部署上的难题。

  本文通过介绍使用云托管服务,教大家如何尽可能减免部署难度,减轻负担。

  1. 编写基础应用

  创建名为 helloworld 的新目录,并转到此目录中:

  复制

  1.  mkdir hello-cloud-develop

  2.  cd hello-cloud-develop

  创建名为 main.py 的文件,并将以下代码粘贴到其中:

  复制

  1.  import os

  2.  from flask import Flask

      3.

  4.  app = Flask(__name__)

      5.

      6.

  7.  @app.route('/')

  8.  def hello_world():

  9.  return 'Hello World!'

     10.

  11.  if __name__ == "__main__":

  12.  app.run(debug=True, host='0.0.0.0', port=8080)

  以上代码会创建一个基本的 Web 服务器,并监听 8080 端口。

  2. 将应用容器化

  在项目根目录下,创建一个名为 Dockerfile 的文件,内容如下:

  复制

  1.  # 使用官方 Python 轻量级镜像

  2.  # https://hub.docker.com/_/python

  3.  FROM python:3.8-slim

  4.  # 将本地代码拷贝到容器内

  5.  ENV APP_HOME /app

  6.  WORKDIR $APP_HOME

  7.  COPY . ./

  8.  # 安装依赖

  9.  RUN pip install Flask gunicorn

  10.  # 启动 Web 服务

  11.  # 这里我们使用了 gunicorn 作为 Server,1 个 worker 和 8 个线程

  12.  # 如果您的容器实例拥有多个 CPU 核心,我们推荐您把线程数设置为与 CPU 核心数一致

  13.  CMD exec gunicorn --bind :8080 --workers 1 --threads 8 --timeout 0 main:app

  添加一个 .dockerignore 文件,以从容器映像中排除文件:

  复制

  1.  Dockerfile

  2.  README.md

  3.  *.pyc

  4.  *.pyo

  5.  *.pyd

  6.  __pycache__

  7.  .pytest_cache

  3.部署到 CloudBase 云托管

  你可以选择任何云服务商的云开发服务,这里我选择了腾讯云的CloudBase云托管服务。

  在 云托管控制台 的服务列表页面,选择对应的环境,单击【新建服务】:https://console.cloud.tencent.com/tcb/service

  填写新建服务所需的所有信息默认使用系统推荐的配置即可。

  单击【提交】,如果部署成功,便可以看到如下弹框:

  单击【新建版本】可立刻开始新建版本并部署,在这里我们选择本地代码,将刚刚写好的文件夹打包为zip文件并上传,端口改为 8080​ ,流量策略改为 部署完成后自动开启100%流量 ,其他配置默认即可:

  PS: hello-cloud-develop.zip 可在 Python实用宝典 公众号后台回复:云开发 下载

  当然,你也可以选择其他的拉取代码方式,比如代码库或者Docker镜像,按需选择即可。点击开始部署将代码仓库部署为线上服务。

  状态变成正常说明部署成功。

  4.访问网站

  部署成功后就可以访问网站了,进入服务配置,找到公网域名:

  这个公网域名就是我们部署网站的地址,访问这个公网域名,出现下面页面效果,说明部署成功:

  恭喜!你已经成功通过云开发部署一个网站了,准确来讲是云托管服务。这种部署方式实在非常舒服,无需自建服务器、成本降低、运维省事。

  那些简单的个人网站、官方网站或者论坛,我认为都可以用云托管的形式去部署,能够大大节省投入成本,站长们可以尝试一下。

  来源: Python实用宝典

    >>>>>>点击进入计算专题

赞(10)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程