文章目录

  • 使用框架
    • 华为云使用
    • 环境搭建
    • 本地测试
    • 网络测试
      • 后端部署([gunicorn部署](https://blog.csdn.net/wbw0wbw/article/details/89517922))
      • 前端部署(nginx部署)
      • screen使用

使用框架

本文基于华为云服务器,主要使用flask,gunicorn和niginx框架的一个YOLO部署项目,本文主要参考代码的是链接: link这里主要是记录过程中遇到的一些问题及解决办法

华为云使用

这里我使用的是Xshell连接的华为云服务器,在进行本项目前记得先将会使用到的几个端口号如88,5000提前打开,方便文件的传输,华为云端口控制采用的是安全组的方法,链接里有官方如何配置安全组的教程

环境搭建

首先是anconda的安装,这里是anconda下载地址
也可采用参考

wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh

下载[可以先去anaconda官方查看最新你版本 右键复制最新的地址连接]
安装

sudo bash Anaconda3-2019.07-Linux-x86_64.sh

注意:在选定安装位置时 建议选用 “/home/anaconda3/” 下 防止出现权限问题
安装成功后如发现 conda 命令无响应
需要修改 ~/.bashrc 文件
在最后一行增加
export PATH=$PATH:/home/ubuntu/anaconda3/bin # 注意修改成你的安装位置
后执行

source ~/.bashrc

anaconda建立虚拟环境

conda create -n 虚拟环境名 pip python版本

例如

conda create -n python36 pip python=3.7

其中本项目最好采用Python3.7,以避免一些不必要的问题
其他依赖包的安装按参考最上面的链接

本地测试

在pytorch1.7的环境下,在yolov5-3.1路径下运行:
sh run.sh        #yolov5-flask服务启动命令

当出现OSError: [Errno 98] Address already in use解决办法

netstat -tunlp
kill -9 5000    # 杀死5000端口进程

此时可以用curl命令来测试一下我们的网址

curl -i http://127.0.0.1:5000

将返回

curl -i http://0.0.0.0:8888

将返回该本地网页的信息

网络测试

安装部署

后端部署(gunicorn部署)

pip install gunicorn

安装完成后测试一下:

gunicorn -w 4 -b 0.0.0.0:5000 flask_hello:app

-w 4 表示4个work(进程)
-b 表示flask绑定的地址和端口
flask_test:app 前者代表py程序文件名, 后者为实例化名即程序中的 app = Flask(name)
当完成后端部署之后,可以通过IP地址访问到yolov5模型。

前端部署(nginx部署)

安装nginx

sudo apt-get install nginx

新建配置文件

cd /etc/nginx/conf.d/ # 打开这个目录
vim index.conf # 创建index.conf,并通过vim方式将其打开,编辑请按 i, 退出编辑请按esc.

配置文件编写

server {listen 80;server_name 139.196.186.165;    # 修改成自己的IP地址location / {root /home/lzq/yolov5-3.1;  # 修改成自己的用户名index index.html index.htm;try_files $uri $uri/ /index.html;}
}

紧接着更新配置文件:

nginx -s reload

重启前端部署

service nginx restart

这时就可以自由通过浏览器访问我们部署在华为云端的YOLO模型了

screen使用

为了解决ssh连接断开后进程就会中断的问题,此处应用screen工具

apt install screen
#1. 执行如下命令,创建screen窗口
screen -S yolo #这里的yolo是自己取得screen窗口的名字
#2. 列出screen窗口
screen -ls
#3. 当需要运行脚本、执行程序时,在命令前添加screen即可
#4. 然后使用ctrl + a,同时再按下d键,就可退出ssh登录,但不会影响screen程序的运行。
#5. 若需要继续工作时,登录实例,然后执行如下命令,恢复会话即可。
#6. 如何进入到已运行的screen?
screen -r [$name]
# 7.如何干掉后端程序重启?
sudo pkill -9 gunicorn

华为云部署YOLOv5相关推荐

  1. 华为云部署 springboot

    我这几天用了华为云部署了docker 聚到了很多问题总算是部署成功了 1.首先通过官方下载docker容器 2.把要部署的项目放到linux服务器中 3.最重要的一步运行 因为华为云的是arm架构所以 ...

  2. 华为Atlas 部署YOLOV5

    目录 脚本下载 版本估计5.0: 推理示例: 在华为Atlas200部署YOLOV5 好几个版本都有 YOLOv5模型转换 YOLOv5 v6.0

  3. 华为云部署K8s之K8s安装4

    kubernetes – 04 kubernetes 性能与监控 部署metrics-server 开启apiserver聚合服务 [root@master ~]# vim /etc/kubernet ...

  4. 华为云部署JavaWeb(SpringBoot)程序(基于Centos7)

    文章目录 Linux对应版本java软件 项目打包 华为云配置 Mysql配置 JDK8配置 MAVEN配置 项目上线 效果展示 你也可以完全自己安装Mysql这些软件,或者直接使用Docker进行容 ...

  5. 云上武功秘籍(四)金蝶最新产品KIS全版本华为云部署

    每天琐事缠身,查错.维护.开接口?--不,你可以更加富有创造力! 假期千里迢迢飞回公司机房处理一个小故障?--不,你可以更加自由高效! 如果这就是你的写照,那为什么不选择上云呢? 如果要上云,那为什么 ...

  6. 华为云部署html网页,手把手教你如何在华为云服务器上部署一个自己的弹幕网站!...

    开发思路 首先是让弹幕的随机高度出现,这个计算方法是:最大高度=屏幕的高度-发送div的高度-弹幕本身的高度,范围就是 0-最大高度了,弹幕总是从右往左移动,所以出现最右侧的位置计算方法是:最右侧位置 ...

  7. 华为云部署K8s之容器技术.docker安装

    docker安装 安装前准备: ​ 1.禁用 selinux [SELINUX=disabled] ​ 2.卸载防火墙 [yum -y remove firewalld-*] ​ 3.docker软件 ...

  8. 想要在华为云上部署javaweb项目怎么做

    前言 之前使用过华为云部署了一个简单的javaweb 项目,其中遇到了许多问题,现就这一篇博客简单说下我是如何部署项目. 入站规则和出站规则 简单的说,出站就是你访问外网,入站就是外网访问你. 具体说 ...

  9. 物联网企业该如何与华为云合作,这份FAQ值得一看

    摘要:关于华为云DevRun智联生活行业加速器,梳理出伙伴和企业最关心的问题,并逐一解答. 自华为云DevRun智联生活行业加速器发布以来,一直在为产业链上下游的企业提供技术.生态建设.商业变现等资源 ...

最新文章

  1. 一文看懂Java微服务架构,WEB2.0,垂直架构,分布式架构,微服务架构
  2. SpringBoot(二):设置springboot同一接口程序启动入口
  3. 社会保险省内转移需要什么手续或过程?
  4. 将RGB值转换为灰度值的简单算法(转)
  5. [react] 说说你喜欢react的原因是什么?它有什么优缺点?
  6. linux用户、用户组 增删改查专栏
  7. SQLPLUS 使用的一些技巧
  8. 【白皮书分享】快手私域经营白皮书.pdf(附下载链接)
  9. ASP.NET的自定义分页
  10. UVa 11584 - Partitioning by Palindromes(线性DP + 预处理)
  11. 用计算机数字语言研究中医理论,试论中医基础理论数字模型.pdf
  12. sqlserver 'sa'密码忘记,windows集成身份验证都登录不了解决办法
  13. Android仿微信语音录制和播放
  14. 科研笔记(六) 基于环境感知的室内路径规划方法
  15. 从github上下载文件,文件夹,整个项目
  16. 2020年中国儿童家具行业产量、市场规模发展现状及儿童家具企业竞争格局分析[图]
  17. kafka是什么?主要用在什么场景
  18. (转)来自一位作业辅导老师的经验分享
  19. 缺失数据填补基础方法(3)——Multiple Imputation by Chained Equations (MICE)
  20. 向SVN提交项目时显示提交成功却没有上传

热门文章

  1. 缓解电脑卡顿、释放内存的几种方法:
  2. js模仿微信语音播放的小功能
  3. P4168 (静态分块
  4. 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
  5. 精灵图公共样式使用技巧
  6. 用定时器Timer方式实现时间的精准控制
  7. discuz mysql密码_discuz 密码解密
  8. 研华工控机硬盘灯不长亮 【转自微信公众号网管爱好者】
  9. 基于HTML5 Boilerplate创建自己的项目
  10. 没有可用软件包 xxx