iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >如何快速入门部署自己的Flask程序(本地+云服务器)?
  • 602
分享到

如何快速入门部署自己的Flask程序(本地+云服务器)?

flask服务器python 2023-09-09 10:09:36 602人浏览 独家记忆
摘要

一、需求背景:人工智能训练好的模型model,需要放到服务器上,作为基础能力提供给应用侧,否则model只能中电脑本地处理。那么怎么解决这个部署到服务器上的问题呢? 二、解决思路:WEB应用部署,有3种主流的方式, Django:大而全,集

一、需求背景人工智能训练好的模型model,需要放到服务器上,作为基础能力提供给应用侧,否则model只能中电脑本地处理。那么怎么解决这个部署到服务器上的问题呢?

二、解决思路WEB应用部署,有3种主流的方式,

Django:大而全,集成了很多组件,属于全能型、重量级框架

Falsk:小而轻,极容易上手,第三方提供的组件多,加起来可以完全覆盖DjanGo

Torando:高并发性能强,但是较为原始的框架,后期拓展可能会受限。

综上所述,选择flask框架。

分2步实现:1是在本地先跑起来,2是放到云服务器上跑起来。

三、实现操作

安装flask

pip install Flask

验证是否已经安装成功,若import没有报错,即是已经安装成功:

import flask

我用的是jupyter notebook环境,写一个简单的flask程序:

#export# 【整体流程】# 在app.py程序文件中,app是flask的实例,功能就是接受来自web服务器的请求,# 1、浏览器将请求给web服务器,web服务器将请求给app ,# 2、app收到请求,通过路由找到对应的视图函数,然后将请求处理,得到一个响应response# 3、然后app将响应返回给web服务器,# 4、web服务器返回给浏览器,# 5、浏览器展示给用户观看,流程完毕。# 【1、初始化】# 所有的Flask都必须创建程序实例# web服务器把客户端所有的请求都转发给这个程序实例,程序实例是Flask的对象# 一般情况下用如下方法实例化# Flask类只有一个必须指定的参数,即程序主模块或者包的名字,__name__是系统变量,该变量指的是本py文件的文件名from flask import Flaskapp = Flask(__name__) # 【2、路由和视图函数】# 客户端发送url给web服务器,web服务器将url转发给flask程序实例,程序实例# 需要知道对于每一个url请求启动哪一部分代码,所以保存了一个url和python函数的映射关系。# 处理url和函数之间关系的程序,称为路由# 在flask中,定义路由最简便的方式,是使用程序实例的app.route装饰器,把装饰的函数注册为路由@app.route('/')def cdc_say():    return "Hello, Flask !"@app.route('/angela')def angela_say():    return "Hi, I'm angela !"@app.route('/alex')def alex_say():    return "Hay, I'm alex !"# 【3、程序实例用run方法启动flask集成的开发web服务器】#  __name__ == '__main__'是Python常用的方法,表示只有直接启动本脚本时候,才用app.run方法#  如果是其他脚本调用本脚本,程序假定父级脚本会启用不同的服务器,因此不用执行app.run()#  服务器启动后,会启动轮询,等待并处理请求。轮询会一直请求,直到程序停止。if __name__ == '__main__':    print('dd',__name__)    app.run()# app.run( )

跑起来,得到如下结果:

在Chrome浏览器地址栏输入: http://127.0.0.1:5000/

得到结果:Hello, Flask !

表明,已经在本地成功部署。

接下来是要将这个jupyter notebook文档转换成“app.py”文件,通过一个nb2py脚本实现:

import json,refrom typing import Dictdef is_export(cell: Dict) -> bool:    '''    use this function to determine whether     the code in current cell needs to be written to a pyfile.    '''    if cell['cell_type'] != 'code': return False    src = cell['source']    #import pdb; pdb.set_trace()    return re.match(r'^\s*#\s*export\s*$', src[0], re.IGNORECASE) is not Nonedef nbpy2py(fname :str) -> None:    '''    parse a nbpy file and convert    necessary part into a py file with thre same prefix_name.py.    '''    fname_result = 'nb_{}.py'.fORMat(fname.split('.')[0])    # open the file and read it as a dic    nb_data = JSON.load(open(fname, 'r', encoding='utf-8'))    # get all the cells that needs to be exported    code_cells = [code_cell for code_cell in nb_data['cells'] if is_export(code_cell)]        py_file_content = ''    for cell in code_cells:        py_file_content += ''.join(cell['source'][1:]) + '\n\n'    # remove the trailing spaces    py_file_content = re.sub(r'\s+$', '', py_file_content, flags=re.MULTILINE)    with open(fname_result, 'w', encoding = 'utf-8') as f:        f.write(py_file_content)            print('coverted {} to {}'.format(fname, fname_result))
fname = 'app.ipynb'nbpy2py(fname)

运行以上两段代码,得到:coverted app.ipynb to nb_app.py

同一个文件夹中,出现了app.py文件,表明app.py文件已经准备好。

通过Filezilla软件,给云服务器传送本地文件,Filezilla版本FileZilla_3.57.0_Macosx-x86.app.tar。输入云服务器以下信息:

主机:云服务器的公网IP

用户:一般是root

端口号:一般是22,注意要去设置云服务器的安全组,要打开22端口,还有0.0.0.0/0的端口tcp:5000

密码:见云服务器的站内信的密码

Filezilla连接好云服务器后,将本地的app.py文件上传到云服务器的root文件夹下

 在云服务器上的console输入以下代码,确保云服务器已经有Flask环境

pip install Flask

然后开始在云服务器上运行app.py文件

python app.py

在这里,要注意,还是不行的,因为flask在云服务器上没有绑定云服务器的内网ip。在云服务器的站内信找到云服务器的内网(注意不是公网)ip,修改app.py文件中,增加app.run()中host的ip。

app.run(host="172.16.0.14", port=5000, debug=True)

修改app.py文件后,上传到云服务器root文件夹中,再一次运行

python app.py

此时,在任何一台电脑的浏览器输入云服务器的公网ip  xx.xx.xx.xx:5000  都会得到云服务器的响应。(若没有得到响应,检查一下云服务器的安全组,是否增加有规则 0.0.0.0/0的端口TCP:5000 放通)

小结

选择Flask作为web部署的框架,轻便、可拓展性强、新手上手快。

本地部署测试app.py

app.py上传到云服务器,设置好安全组规则,设置host的ip和端口,完成云服务器端部署。

来源地址:https://blog.csdn.net/qinwolf_/article/details/128762630

--结束END--

本文标题: 如何快速入门部署自己的Flask程序(本地+云服务器)?

本文链接: https://www.lsjlt.com/news/401311.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何快速入门部署自己的Flask程序(本地+云服务器)?
    一、需求背景:人工智能训练好的模型model,需要放到服务器上,作为基础能力提供给应用侧,否则model只能中电脑本地处理。那么怎么解决这个部署到服务器上的问题呢? 二、解决思路:web应用部署,有3种主流的方式, Django:大而全,集...
    99+
    2023-09-09
    flask 服务器 python
  • 如何将自己的项目部署在云服务器上
    将项目部署到云服务器上通常可以通过以下几种方式: 虚拟主机托管:将项目部署到云服务器上的最常用方法之一是虚拟主机托管(Virtual Hosting)。这种托管服务通常提供高性能、高可用性、可扩展性和安全性等多种优势,同时可以按需购买和...
    99+
    2023-10-27
    自己的 如何将 器上
  • 容器部署:如何实现快速响应的应用程序?
    随着云计算技术的普及,容器化部署已经成为了许多企业和开发者的首选。相比传统的虚拟化技术,容器化部署更加轻量级,更加快速响应,具有更高的灵活性和可移植性。本文将介绍容器部署的基本概念和原理,并演示如何使用 Docker 容器实现快速响应的应...
    99+
    2023-09-07
    npm 容器 响应
  • 如何让阿里云服务器比自己网速更快
    在使用阿里云服务器时,有些用户可能会发现服务器的速度比自己的网络速度还要慢,这可能会影响网站的访问速度和用户体验。本文将介绍一些方法,帮助您提高阿里云服务器的速度,使其比自己的网络速度更快。1. 优化网络设置首先,您可以检查一下阿里云服务...
    99+
    2024-01-01
    阿里 更快 网速
  • 如何将自己的项目部署在云服务器上使用
    确定您的项目类型:不同的项目类型需要不同的云服务器选择。例如,对于Web应用程序,您可能需要选择一家云服务器提供商,例如Amazon Web Services(AWS)或Microsoft Azure。 选择云服务器提供商:根据您的预算、...
    99+
    2023-10-27
    自己的 如何将 器上
  • 阿里云本地服务器地址:如何快速找到你的服务器?
    简介 阿里云是中国领先的云计算服务提供商之一,为用户提供了丰富的云产品和服务。在使用阿里云时,了解本地服务器地址是非常重要的,它可以帮助你快速定位和管理你的服务器。本文将介绍如何找到阿里云本地服务器地址的方法。如何找到阿里云本地服务器地址步...
    99+
    2024-01-31
    服务器 阿里 快速
  • 阿里云VPC服务器远程登录的快速入门
    本文将介绍如何使用阿里云VPC服务器进行远程登录,以方便用户在云端管理和操作服务器。我们将从安装和配置Xshell、配置SSH密钥等步骤开始,帮助用户快速上手。步骤一:安装Xshell首先,我们需要在本地计算机上安装Xshell,它是一个...
    99+
    2024-01-22
    阿里 入门 快速
  • 如何建立自己的云服务器地址
    建立自己的云服务器地址是非常复杂的事情,需要考虑很多因素,包括服务器硬件、操作系统版本、网络配置等等。以下是一些步骤和方法,可以帮助你建立自己的云服务器地址: 购买服务器 购买一个云服务器需要考虑很多因素,包括服务器的容量、性能、可扩...
    99+
    2023-10-26
    自己的 地址 服务器
  • 如何建立自己的云服务器地址呢
    建立自己的云服务器地址是非常复杂的事情,需要考虑很多因素,下面是一些建议: 确定自己的云服务器品牌和服务提供商,可以查看官网或其他相关网站以了解他们的服务和优势。 确定自己的云服务器需求,需要提供哪些功能和特性,例如数据备份、网络服务、...
    99+
    2023-10-27
    自己的 地址 服务器
  • 如何查看自己的阿里云服务器地址
    在使用阿里云服务器的过程中,可能需要查看服务器的地址信息。这篇文章将详细说明如何查看自己的阿里云服务器地址。 阿里云服务器是一个高效、稳定、安全的计算平台,为用户提供一站式的云计算服务。在使用阿里云服务器的过程中,可能需要查看服务器的地址信...
    99+
    2023-10-31
    自己的 阿里 地址
  • 如何建立自己的云服务器地址信息
    选择可靠的云服务提供商:选择一个有经验的云服务提供商,并了解他们的安全政策、服务质量和费用等方面的信息,以确保选择一个可靠的云服务提供商。 确定云服务器的位置:选择一个能够提供你所需的云服务器位置的地点,确保它易于维护和管理。 选择合适的...
    99+
    2023-10-28
    自己的 地址 服务器
  • 阿里云服务器迁移本地如何快速完成迁移
    随着云计算技术的发展,越来越多的企业和个人开始使用阿里云服务器进行数据存储和计算。然而,随着业务的发展,可能需要将阿里云服务器上的数据迁移到本地。本文将详细说明如何快速完成阿里云服务器迁移本地的过程。 阿里云服务器迁移本地是很多企业需要面对...
    99+
    2023-10-29
    阿里 快速 服务器
  • 如何判断自己的业务是否需要部署高防服务器上
    判断自己的业务是否需要部署在高防服务器上的依据:1.网络带宽的消耗情况以及网络使用情况。2.服务器的网络攻击频率以及业务运行情况。3.公司的业务类型和网络数据的安全性。具体内容如下:其实除了机房自身的一些防止渗透的加密手段,一般来说高防服务...
    99+
    2024-04-02
  • 如何在阿里云上接入自己的服务器
    阿里云作为国内领先的云计算服务商,为用户提供了一系列的云服务。如果想要在阿里云上接入自己的服务器,本文将详细说明步骤和注意事项。 一、阿里云接入自己的服务器的步骤创建阿里云账号 首先,你需要在阿里云官网上注册一个账号。账号创建成功后,你可...
    99+
    2023-11-12
    自己的 阿里 服务器
  • 虚拟服务器部署:一步步教你如何搭建自己的虚拟服务器
    步骤一:选择虚拟服务器提供商 在开始搭建虚拟服务器之前,你需要选择一个可靠的虚拟服务器提供商。一些常见的虚拟服务器提供商包括 AWS、DigitalOcean、Linode 等。这些提供商都提供了简单易用的控制面板,可以帮助你轻松地管理你...
    99+
    2023-10-27
    自己的 服务器 教你如何
  • 阿里云如何看自己的服务器地址是多少
    简介 在使用阿里云服务器时,我们经常需要了解自己服务器的地址信息,以便进行网络配置、域名解析等工作。本文将介绍如何在阿里云上查看自己的服务器地址。详细说明步骤一:登录阿里云控制台首先,打开浏览器,输入阿里云官方网址(https://www....
    99+
    2023-12-29
    自己的 阿里 如何看
  • 如何远程连接到自己的云服务器上
    要远程连接到您的云服务器,您可以按照以下步骤进行操作:1. 获取云服务器的IP地址和登录凭据,包括用户名和密码或者SSH密钥。2. ...
    99+
    2023-08-09
    云服务器
  • 如何在阿里云中查看自己的服务器IP地址
    在阿里云上使用服务器的过程中,可能会遇到需要查看自己服务器IP地址的情况。这篇文章将详细地介绍如何在阿里云中查看自己的服务器IP地址。 步骤一:登录阿里云账号 首先,你需要登录你的阿里云账号。在网页浏览器中输入你的阿里云账号和密码,然后点...
    99+
    2023-12-15
    自己的 阿里 云中
  • 如何在阿里云上查看自己的服务器IP地址
    在使用阿里云服务器时,了解服务器的IP地址对于管理、监控和安全等方面都非常重要。本文将向您介绍如何在阿里云上快速找到您的服务器IP地址。 详细说明:在阿里云上查看服务器的IP地址非常简单,您只需要按照以下步骤操作即可:步骤一:登录阿里云控制...
    99+
    2024-01-21
    自己的 阿里 地址
  • 如何使用阿里云服务器查询自己的IP地址?
    在使用阿里云服务器进行各种网络应用时,了解自己的IP地址是非常重要的。本文将详细介绍如何使用阿里云服务器查询自己的IP地址。 一、登录阿里云控制台首先,你需要在阿里云的官方网站上注册一个账号,并登录到你的阿里云控制台。如果你还没有阿里云账号...
    99+
    2023-12-10
    自己的 阿里 如何使用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作