阿里云服务器部署flask+Pytorch深度学习模型+nginx

简介: 本课程设计是开发一款具备AI能力的微信小程序,为了能让真机测试通过并成功上线,需要把flask+Pytorch深度学习模型部署到阿里云服务器,实现前后端的交互。对于服务器部署我们使用nginx进行ssl证书部署,修改nginx.conf文件,安装gunicorn库通过命令gunicorn -w 2 -b 127.0.0.1:5000 -demo:app命令来运行项目,使前后端能够交互,实现小程序的核心功能。

一、自我介绍:
本人学的是电子信息专业,目前在读大二,因为课程设计是做一款具有AI能力的微信小程序,需要把Pytorch深度学习模型部署到云服务器上,实现真机能够测试的效果。在选择云服务器上,隔壁实验室的同学就推荐阿里云的服务器,说学生可以参加“飞天加速计划·高校学生在家实践”活动”,然后就开始了阿里云服务器的学习之旅。

二、两周学习经历:
这两周的学习确实收获还挺大的,而且也已经实现了将Pytorch深度模型部署到云服务器上,微信小程序通过接口能够访问服务器,真机测试也通过了。但是由于域名没有备案,所以暂时只能通过云服务器的IP地址访问。接下来就是学习的过程。
首先我们拥有一台服务器之后,需要申请域名,然后域名解析到服务器的IP地址,再就是申请阿里的免费的SSL证书,拥有证书之后要让我们的域名能够访问,必须要进行证书部署,我选择的是通过ngixn服务器部署,接下来就是我学习nginx遇到的各种问题和解决方法。
我们通过远程登录服务器,用户名默认是root,输入密码:XXXX。进入服务器是控制台之后,由于我使用的是ubuntu18.04版本会默认安装python3版本。首先,我们安装虚拟环境vurtualenv,通过pip3 insall virtualenv命令来执行,安装成功后新建虚拟环境目录env, t通过命令virtualenv env来执行。然后进入虚拟环境通过命令source env/bin/activate 进入成功后会显示(env)root@... 通过cd env命令进入虚拟环境根目录, 然后再安装nginx 通过sudo apt-get install nginx命令来执行,输入nginx-t 来检测配置文件有没有问题,返回结果是success ok 就是正确的配置,然后把公网的ip输入到浏览器上访问会出现Welcome to nginx!页面,接下来就是SSL证书部署到nginx.
我们通过命令cd /etc/nginx/命令切换到nginx目标下 通过ls命令可以查看到该目录下有nginx.f文件 通过vim nginx.f命令打开文件 输入命令i 进入insert模式可以修改数据 我们将server{}里面的listen 80注释掉,然后开启listen 443 ssl 进行证书部署 将下载的证书.pem和.key文件拷贝到该文件内,server_name后面填写自己的服务器域名,注意要通过ssh本地远程连接服务器,将文件上传服务端的指定目录下,然后我们再复制目标到nginx.f文件内,配置完成后通过nginx-t命令来验证配置文件是否正确,再通过命令systemctl nginx start命令重启nginx服务器,没有报错说明配置文件有效。
注意:这里千万要注意,如果我们的域名没有备案,那么我们即使将ssl证书部署到nginx服务器也无法正常访问网页,当然如果想验证可以通过命令curl http://XXXXXX:5000 如果能返回html的代码数据,说明证书部署是正确的,只不到需要等域名备案通过了才能访问网站,这个问题困扰了我好几天才解决,之前还以为是防火墙的原因,后面开放防火墙80 443端口还是不行,那就是域名需要备案。
接下来就是安装gunicor和后端flask+pytorch模型部署
我们在虚拟环境下通过命令sudo pip3 install gunicorn,使用Pycharm远程连接服务器,将本地项目上传到服务器的虚拟环境中,我们通过命令gunicorn -w 2 -b 127.0.0.1:5000 -demo:app命令来执行,可以发现服务能够运行,如何发现端口被占用,通过命令netstat找到被占用端口的PID ,通过kill -9 PID命令杀掉进程来释放端口就行了。最后再使用命令gunicorn -w 2 -b 127.0.0.1:5000 -demo:app将服务调动起来,打开小程序就可以进行前后端的交互了。

三、两周收获与总结
通过这两周的学习,我对云服务部署后端项目具备了一定的基础,特别是我这种linux操作系统小白来说收获是非常大的。我现在能够熟练的使用linux操作系统的常用指令对文件进行操作以及项目的部署,遇到的常见问题也可以解决,对应netstat和kill -9 PID命令使用也很流畅,知道端口被占用了该如何快速解决,最开心的我的小程序已经实现了前后端的交互,项目可以说是完成了,后面就是进行域名的备案,耐心的等待审核通过就可以使用我自己的域名来访问云服务器了。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
机器学习/深度学习 PyTorch API
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
本文深入探讨神经网络模型量化技术,重点讲解训练后量化(PTQ)与量化感知训练(QAT)两种主流方法。PTQ通过校准数据集确定量化参数,快速实现模型压缩,但精度损失较大;QAT在训练中引入伪量化操作,使模型适应低精度环境,显著提升量化后性能。文章结合PyTorch实现细节,介绍Eager模式、FX图模式及PyTorch 2导出量化等工具,并分享大语言模型Int4/Int8混合精度实践。最后总结量化最佳策略,包括逐通道量化、混合精度设置及目标硬件适配,助力高效部署深度学习模型。
1148 21
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
|
8月前
|
存储 人工智能 边缘计算
当 AI 进入「算力密集时代」:你的服务器能跑通大模型吗?
本文深入探讨AI服务器在技术落地中的核心瓶颈问题,结合实战经验解析从模型训练到端侧部署的算力优化策略。内容涵盖三大典型场景的算力需求差异、GPU服务器选型的五大反直觉真相、实战优化方法(如混合精度训练与硬件资源监控),以及边缘AI部署挑战和解决方案。同时提供算力弹性扩展策略、模型生命周期管理及合规性建议,帮助读者构建可持续发展的算力体系。文末附有获取更多资源的指引。
635 17
|
8月前
|
存储 弹性计算 测试技术
10分钟私有部署QwQ-32B模型,像购买Ecs实例一样快捷
虽然阿里云提供了基于 IaaS 部署 QwQ-32B 模型的方式,但传统的基于IaaS的部署方式需要用户自行配置环境、安装依赖、优化硬件资源,并解决复杂的网络与存储问题,整个流程不仅耗时耗力,还容易因操作失误导致各种不可预见的问题。 因此,阿里云计算巢提供了基于ECS镜像与VLLM的大模型一键部署方案,通过ECS镜像打包标准环境,通过Ros模版实现云资源与大模型的一键部署,用户无需关心模型部署运行的标准环境与底层云资源编排,10分钟即可部署使用QwQ-32B模型,15分钟即可部署使用Deepseek-R1-70B模型。
|
10月前
|
人工智能 负载均衡 数据可视化
阿里云出手了,DeepSeek服务器拒绝繁忙,免费部署DeepSeek模型671B满血版
阿里云推出免费部署DeepSeek模型671B满血版服务,通过百炼大模型平台,用户无需编码,最快5分钟、最低0元即可完成部署。平台提供100万免费Token,支持DeepSeek-R1和DeepSeek-V3等多款模型调用,有效解决服务器繁忙问题。新手零基础也能轻松上手,享受高效稳定的API调用和自动弹性扩展功能。教程涵盖开通服务、获取API-KEY及配置Chatbox客户端等步骤,详细指引助您快速实现DeepSeek自由。
623 18
|
并行计算 监控 搜索推荐
使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程
当处理大规模图数据时,复杂性难以避免。PyTorch-BigGraph (PBG) 是一款专为此设计的工具,能够高效处理数十亿节点和边的图数据。PBG通过多GPU或节点无缝扩展,利用高效的分区技术,生成准确的嵌入表示,适用于社交网络、推荐系统和知识图谱等领域。本文详细介绍PBG的设置、训练和优化方法,涵盖环境配置、数据准备、模型训练、性能优化和实际应用案例,帮助读者高效处理大规模图数据。
307 5
|
数据可视化 Linux 网络安全
如何使用服务器训练模型
本文介绍了如何使用服务器训练模型,包括获取服务器、访问服务器、上传文件、配置环境、训练模型和下载模型等步骤。适合没有GPU或不熟悉Linux服务器的用户。通过MobaXterm工具连接服务器,使用Conda管理环境,确保训练过程顺利进行。
1810 0
如何使用服务器训练模型
|
监控 应用服务中间件 nginx
nginx+uwsgi+flask
nginx+uwsgi+flask
|
机器学习/深度学习 边缘计算 PyTorch
PyTorch 与 ONNX:模型的跨平台部署策略
【8月更文第27天】深度学习模型的训练通常是在具有强大计算能力的平台上完成的,比如配备有高性能 GPU 的服务器。然而,为了将这些模型应用到实际产品中,往往需要将其部署到各种不同的设备上,包括移动设备、边缘计算设备甚至是嵌入式系统。这就需要一种能够在多种平台上运行的模型格式。ONNX(Open Neural Network Exchange)作为一种开放的标准,旨在解决模型的可移植性问题,使得开发者可以在不同的框架之间无缝迁移模型。本文将介绍如何使用 PyTorch 将训练好的模型导出为 ONNX 格式,并进一步探讨如何在不同平台上部署这些模型。
1421 2
|
机器学习/深度学习 边缘计算 PyTorch
PyTorch 与边缘计算:将深度学习模型部署到嵌入式设备
【8月更文第29天】随着物联网技术的发展,越来越多的数据处理任务开始在边缘设备上执行,以减少网络延迟、降低带宽成本并提高隐私保护水平。PyTorch 是一个广泛使用的深度学习框架,它不仅支持高效的模型训练,还提供了多种工具帮助开发者将模型部署到边缘设备。本文将探讨如何将PyTorch模型高效地部署到嵌入式设备上,并通过一个具体的示例来展示整个流程。
3487 1
|
存储 PyTorch API
NVIDIA Triton系列09-为服务器添加模型
本文介绍了如何为NVIDIA Triton模型仓库添加新模型。通过示例模型`inception_graphdef`的配置文件`config.pbtxt`,详细解释了模型名称、平台/后端名称、模型执行策略、最大批量值、输入输出节点及版本策略等配置项。内容涵盖了模型的基本要素和配置细节,帮助读者更好地理解和使用Triton服务器。
292 0

热门文章

最新文章

推荐镜像

更多