C/S架构的应用程序开发实战(二)
2021/9/6 17:07:28
本文主要是介绍C/S架构的应用程序开发实战(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
后端服务
后端用python实现,采用flask web框架。
可从github上获取flasky源码,在此基础上进行业务逻辑的实现。
程序结构如下:
├── app # 业务逻辑实现代码
│ ├── common # 公共函数实现,这里主要是数据库相关的增删改查接口实现,以及算法模型的推断功能实现
│ ├── init.py
│ ├── main # 视图函数实现,即供前端调用的API实现
│ └── pycache
├── config.py # 工程配置文件
├── log.txt # 日志文件
├── manage.py # 工程启动入口文件
└── start.sh # 启动脚本
启动服务
Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server,这里通过gunicorn部署我们的后端服务。
启动脚本start.sh如下:
gunicorn -w 4 -t 200 -b 0.0.0.0:8900 manage:app
执行脚本即可。
docker容器封装服务
该项目后端业务功能执行涉及算法模型的推断,算法模型依赖环境较复杂,为了后续方便部署,将服务封装成一个docker镜像,启动docker容器即可启动服务。
1.构建镜像
通过Dockerfile构建镜像。
# Dockerfile FROM {dockerhub仓库名}/caffe_python2.7and3.5_flask:v1.0 WORKDIR /vblt_server ENV PYTHONPATH=/workspace/caffe/python CMD ["nohup", "./start.sh"]
docker build -t vblt_server:v1.0 .
2.创建容器并启动服务
docker run --net=host --restart=always --privileged -v /root/vblt_server:/vblt_server --name=vblt_server2 vblt_server:v1.0
mysql服务
同样可以采用docker方式部署mysql服务。
该项目涉及两个服务,后台业务及mysql,为了简化部署并便于维护的,可以通过docker-compose进行docker容器的部署和管理。在此不展开,后续有时间再写。
这篇关于C/S架构的应用程序开发实战(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27Rocket消息队列资料:新手入门指南
- 2024-11-27rocket消息队资料详解与入门指南
- 2024-11-27RocketMQ底层原理资料详解入门教程
- 2024-11-27RocketMQ项目开发资料:新手入门教程
- 2024-11-27RocketMQ项目开发资料详解
- 2024-11-27RocketMQ消息中间件资料入门教程
- 2024-11-27初学者指南:深入了解RocketMQ源码资料
- 2024-11-27Rocket消息队列学习入门指南
- 2024-11-26Rocket消息中间件教程:新手入门详解
- 2024-11-26RocketMQ项目开发教程:新手入门指南