自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进
本文是【小码哥李明杰老师】指导完成的山东大学引航计划公益人工智能科研实训项目。
自制预防校园暴力的智能监控系统
打通前后端
因为前端代码中请求的IP地址不对(是本机的),所以需要更改IP地址为CentOS的。
更改如下:
在src下新建“common”目录,并在目录下新建“consts.ts”:
export const IP = '192.168.23.133:5000'
之后把login.tsx和main.tsx中的所有IP地址都改为:
import {IP} from '@/common/consts'.post(`http://${IP}/user/login`, item)
这样可以减少以后更改IP的麻烦。
解决Ctrl+F5刷新不成功的问题,需要更改配置为哈希路由:
在.umirc.ts中更改路由如下:
export default {npmClient: 'pnpm',history: {type: 'hash'},
重启:
清除浏览器缓存,重新登陆,可以看到能够登录:
注:开发调试阶段不能请求云服务器,要请求自己电脑上的代码:没有及时更新。
智能更换开发阶段IP与发布阶段IP,以防每次都要手动调节:
更改“consts.ts”为:
// 是否为开发阶段
const DEV = process.env.NODE_ENV == 'development'
export const IP = DEV ? '127.0.0.1:5000' : '192.168.23.133:5000'console.log()
此时,云服务器的登录已经打通了:
调用百度AI算法
前面发的文章中“调用算法接口”所用的算法是私人训练出来的,所以自己申请的API Key和Secret Key调用会不成功。
所以推荐大家参加“人工智能引航计划”学习如何基于百度AI训练自己的算法,换接口来完成此项目。
此处演示一个示例:
动物识别:
应用列表:创建应用;
技术文档:查看调用方法。
import requestsif __name__ == '__main__':# 获取access_tokenret = requests.post('https://aip.baidubce.com/oauth/2.0/token', {'grant_type': 'client_credentials','client_id': 'lUISjRskAZGoGBwWip7cAyOf','client_secret': 'sl4E6KZ4D1DmyDgWkYw8Vq8mmYSohmcA'})access_token = ret.json()['access_token']# 调用动物识别接口# https://aip.baidubce.com/rest/2.0/image-classify/v1/animal# access_token:url参数# url:图片的路径(需要增加一个url参数input_type=url)# image:图片数据url_params = '?access_token=' + access_tokenret = requests.post('https://aip.baidubce.com/rest/2.0/image-classify/v1/animal' + url_params, {'url': 'https://img.zcool.cn/community/0129996053050f11013e87f4ea68a6.jpg@1280w_1l_2o_100sh.jpg'}).json()print(ret)
网址图片为:
显示结果比较正确,是柯基。
宝塔
重新登陆查看内网面板地址和密码,需要输入命令:
/etc/init.d/bt default
注:可以直接在宝塔上安装nginx,弊端就是无法指定安装位置。
服务器架构演进
单体架构
单体架构:一台云服务器上部署前端(nginx)、后端(Flask)与数据库(MySQL)。
缺点:
- 扛不住太大的用户量;
- 一旦宕机,所有服务都会停止(用户无法访问成功页面);
- 资源容易不足。
架构演进
虽然用户的请求会分散在不同的服务器,但如果一百万个用户同时访问网页,则会同时攻击云服务器2,扛不住。
服务器集群
集群:多台主机运行着一样的功能,提供一样的服务。
谁的压力小将请求给谁,但数据库的数据可能不同。
因为用户访问不同的云服务器则无法获取相同的数据,所以数据库的集群需要同步。
分布式
多台主机提供不一样的服务。
将大系统拆分为多个子系统,每个子系统部署到不同的服务器节点,根据子系统的访问情况决定要不要做集群,做多大的集群,这样管理起来比较细,以提高用户的访问质量。
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进相关推荐
- 自制预防校园暴力的智能监控系统:远程连接,将前后端部署到CentOS服务器
本文是[小码哥李明杰老师]指导完成的山东大学引航计划公益人工智能科研实训项目. 自制预防校园暴力的智能监控系统 远程连接CentOS 通常使用SSH工具远程连接CentOS, 常用的SSH工具:Xsh ...
- 自制预防校园暴力的智能监控系统:学习前端
本文是[小码哥李明杰老师]指导完成的山东大学引航计划公益人工智能科研实训项目. 自制预防校园暴力的智能监控系统. 学前须知 软件开发 分类 客户端开发: 移动开发(Android.iOS) 桌面端开发 ...
- 自制预防校园暴力的智能监控系统:学习FrontEnd
本文是[小码哥李明杰老师]指导完成的山东大学引航计划公益人工智能科研实训项目. 自制预防校园暴力的智能监控系统. HTML HTML也可以由"txt"编辑并打开: 网页显示: 缺点 ...
- 自制预防校园暴力的智能监控系统:远程加载表格数据,SQLAlchemy操作数据库,云服务器(CentOS)
本文是[小码哥李明杰老师]指导完成的山东大学引航计划公益人工智能科研实训项目. 自制预防校园暴力的智能监控系统 重定向路径 路由配置(访问根路径,直接重定向到main): export default ...
- 安居客住房系统-基于Python-Django前后端分离开发(一)——初始化项目及ORM关系映射
"安居客"住房系统-基于Python-Django前后端分离开发 作者:代昌松 项目详情代码请参加我的代码仓库:https://gitee.com/dcstempt_ping/iz ...
- “安居客“住房系统-基于Python-Django前后端分离开发(二)——基于RESTful架构的数据接口配置以及Redis高速缓存
"安居客"住房系统-基于Python-Django前后端分离开发(二) 基于Django-Rest-Framework创建接口数据(二) 文章目录 "安居客"住 ...
- leadshop商城系统源码-前后端代码开源-v1.0.0
介绍: eadshop是一款提供持续更新迭代服务的免费商城系统,旨在打造极致的用户体验! Leadshop由浙江禾成云计算有限公司研发,主要面向中小型企业,助力搭建电商平台,并提供专业的技术支持.免费 ...
- 大型网站系统与Java中间件实践 第二章大型网站及其架构演进过程
2.1什么是大型网站 通过第 1 章我们了解了分布式系统的相关基础知识, 大型网站是一种很常见的分布式系统,而本书重点要介绍的中间件系统也是在大型网站的架构变化中出现并发展的,那么我们很有必要从大型网 ...
- 大型医院云HIS系统:采用前后端分离架构,前端由Angular语言、JavaScript开发;后端使用Java语言开发 融合B/S版电子病历系统
一套医院云his系统源码 采用前后端分离架构,前端由Angular语言.JavaScript开发:后端使用Java语言开发.融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知 ...
最新文章
- c语言gsl,从GSL库获取C gsl_fit_linear()函数中的线性回归的p值
- (转)如何禁用Windows 10系统的触摸屏
- POJ2060最小路径覆盖
- 被寄予厚望的区块链 能否为游戏行业带来新的曙光?
- fedora如何隐藏顶部状态栏_藏在 iOS 13 里的 9 个隐藏小技巧
- Oracle数据库备份和恢复配置详解
- 顺序线性表的基本操作(C语言实现)
- [翻译]当jQuery遭遇CoffeeScript的时候——妙,不可言
- apache 访问控制
- [HDU 2096] 小明A+B
- Git之路——配置SSH免密码登录
- Word文档docx的图标显示异常,doc的显示正常,但是可以用,解决办法
- 电脑光驱不见了(错误代码39 黄色感叹号)的解决办法
- python如何拼读英语单词怎么写_Python简单的拼写检查
- 使用int存储ip地址
- WPF 如何在静态资源定义字体大小
- 对比Eureka和Nacos 的区别 Zuul和Spring Gateway的区别
- HTML----锚标签
- 【华为机试真题 Python】素数之积
- 战争与征服服务器维护,《战争与征服》12月5日停机维护公告