加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 云计算 > 正文

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

发布时间:2023-05-27 11:05:59 所属栏目:云计算 来源:
导读:  新手在平时开发Web应用时,由于对Linux系统的不熟悉,往往会遇到一些部署上的难题。

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

  1. 编写基础应用

  创建名为
  新手在平时开发Web应用时,由于对Linux系统的不熟悉,往往会遇到一些部署上的难题。
 
  本文通过介绍使用云托管服务,教大家如何尽可能减免部署难度,减轻负担。
 
  1. 编写基础应用
 
  创建名为 helloworld 的新目录,并转到此目录中:
 
  复制
 
  mkdir hello-cloud-develop
 
  cd hello-cloud-develop
 
  创建名为  main.py  的文件,并将以下代码粘贴到其中:
 
  复制
 
  import os
 
  from flask import Flask
 
  app = Flask(__name__)

  @app.route('/')
 
  def hello_world():
 
      return 'Hello World!'
 
  if __name__ == "__main__":
 
      app.run(debug=True, host='0.0.0.0', port=8080)

  以上代码会创建一个基本的 Web 服务器,并监听 8080  端口。
 
  2. 将应用容器化
 
  在项目根目录下,创建一个名为  Dockerfile  的文件,内容如下:
 
  复制
 
  # 使用官方 Python 轻量级镜像
 
  # https://hub.docker.com/_/python
 
  FROM python:3.8-slim
 
  # 将本地代码拷贝到容器内
 
  ENV APP_HOME /app
 
  WORKDIR $APP_HOME
 
  COPY . ./
 
  # 安装依赖
 
  RUN pip install Flask gunicorn
 
  # 启动 Web 服务
 
  # 这里我们使用了 gunicorn 作为 Server,1 个 worker 和 8 个线程
 
  # 如果您的容器实例拥有多个 CPU 核心,我们推荐您把线程数设置为与 CPU 核心数一致
 
  CMD exec gunicorn --bind :8080 --workers 1 --threads 8 --timeout 0 main:app

  添加一个  .dockerignore  文件,以从容器映像中排除文件:
 
  复制
 
  Dockerfile
 
  README.md
 
  *.pyc
 
  *.pyo
 
  *.pyd
 
  __pycache__
 
  .pytest_cache

  3.部署到 CloudBase 云托管
 
  你可以选择任何云服务商的云开发服务,这里我选择了腾讯云的CloudBase云托管服务。
 
  在 云托管控制台 的服务列表页面,选择对应的环境,单击【新建服务】:https://console.cloud.tencent.com/tcb/service
 
  填写新建服务所需的所有信息默认使用系统推荐的配置即可。
 
  单击【提交】,如果部署成功,便可以看到如下弹框:
 
  单击【新建版本】可立刻开始新建版本并部署,在这里我们选择本地代码,将刚刚写好的文件夹打包为zip文件并上传,端口改为 8080​ ,流量策略改为 部署完成后自动开启100%流量 ,其他配置默认即可:
 
  PS: hello-cloud-develop.zip 可在 Python实用宝典 公众号后台回复:云开发 下载
 
  当然,你也可以选择其他的拉取代码方式,比如代码库或者Docker镜像,按需选择即可。点击开始部署将代码仓库部署为线上服务。
 
  状态变成正常说明部署成功。
 
  4.访问网站
 
  部署成功后就可以访问网站了,进入服务配置,找到公网域名:
 
  这个公网域名就是我们部署网站的地址,访问这个公网域名,出现下面页面效果,说明部署成功:
 
  恭喜!你已经成功通过云开发部署一个网站了,准确来讲是云托管服务。这种部署方式实在非常舒服,无需自建服务器、成本降低、运维省事。
 
  那些简单的个人网站、官方网站或者论坛,我认为都可以用云托管的形式去部署,能够大大节省投入成本,站长们可以尝试一下。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!