

三分钟部署Python Web应用,云开发了解一下?
source link: https://www.51cto.com/article/745151.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

三分钟部署Python Web应用,云开发了解一下?
新手在平时开发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.访问网站
部署成功后就可以访问网站了,进入服务配置,找到公网域名:

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

恭喜!你已经成功通过云开发部署一个网站了,准确来讲是云托管服务。这种部署方式实在非常舒服,无需自建服务器、成本降低、运维省事。
那些简单的个人网站、官方网站或者论坛,我认为都可以用云托管的形式去部署,能够大大节省投入成本,站长们可以尝试一下。
Recommend
-
10
PoW 公链 Kadena 试图将公链与联盟链 / 私有链互联,且与两大跨链项目 Cosmos 和 Polkadot 进行了合作。 原文标题:《硬核拆解并行 1000 条链的 PoW 公链 Kadena》 作者:巴韭特 近期,在合规平台 Coinlis...
-
47
-
12
开发部署提速8倍!这款IDE插件了解一下? 【福利时刻】关注公众...
-
7
三分钟了解波卡生态 DApp 平台 Plasm 特性与代币激励PolkaWorld2021-01-08热度: 10928Plasm 已经进行两次锁仓空投,代币总量会在第三次锁仓...
-
8
三分钟了解 Bonfida:实现链上程序化交易的 Serum 前端 Bonfida ...
-
7
Mozik 希望通过区块链技术建立点对点的利益分享机制,在更加公平合理的利益分享机制下,实现创作者、平台、消费者、投资者等生态圈内各方利益的平衡。撰文:Zoe Zhang在 2019 年 1 月 3 日的《晓说》节目中,高晓松重回母校清华大学,来了一场「...
-
5
漫画:三分钟了解敏捷开发-吴师兄学编程 当前位置:吴师兄学编程 > 算法 > 漫画算法 &g...
-
6
三分钟带你了解东南亚电商市场-跨境头条-AMZ123亚马逊导航-跨境电商出海门户 三分钟带你了解东南亚电商市场...
-
7
三分钟带你了解元宇宙虚拟地产 - 耳朵财经 三分钟带你了解元宇宙虚拟地产 七点钟社区 2021-09-23 17:27 在人类的面前有两条路...
-
7
「公有云」危?「私有云」贵?石墨私有化部署了解一下!公有云不安全?私有云太昂贵?在数字化转型进程中,当企业面临两种云服务选择时往往会有些摸不着头脑。01 什么是公有云(Public Cloud)?通常指第三方提供商为用...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK