自制预防校园暴力的智能监控系统:打通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'
  },

重启:
在这里插入图片描述

清除浏览器缓存,重新登陆,可以看到能够登录:
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第1张图片

注:开发调试阶段不能请求云服务器,要请求自己电脑上的代码:没有及时更新。

智能更换开发阶段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()

此时,云服务器的登录已经打通了:
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第2张图片

调用百度AI算法

前面发的文章中“调用算法接口”所用的算法是私人训练出来的,所以自己申请的API Key和Secret Key调用会不成功。
所以推荐大家参加“人工智能引航计划”学习如何基于百度AI训练自己的算法,换接口来完成此项目。
此处演示一个示例:
动物识别:
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第3张图片

应用列表:创建应用;
技术文档:查看调用方法。

import requests

if __name__ == '__main__':
    # 获取access_token
    ret = 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_token
    ret = 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)

网址图片为:
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第4张图片

在这里插入图片描述

显示结果比较正确,是柯基。

宝塔

重新登陆查看内网面板地址和密码,需要输入命令:
/etc/init.d/bt default
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第5张图片

注:可以直接在宝塔上安装nginx,弊端就是无法指定安装位置。

服务器架构演进

单体架构

单体架构:一台云服务器上部署前端(nginx)、后端(Flask)与数据库(MySQL)。
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第6张图片

缺点:

  1. 扛不住太大的用户量;
  2. 一旦宕机,所有服务都会停止(用户无法访问成功页面);
  3. 资源容易不足。

架构演进

自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第7张图片

虽然用户的请求会分散在不同的服务器,但如果一百万个用户同时访问网页,则会同时攻击云服务器2,扛不住。

服务器集群

集群:多台主机运行着一样的功能,提供一样的服务。
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第8张图片

谁的压力小将请求给谁,但数据库的数据可能不同。
因为用户访问不同的云服务器则无法获取相同的数据,所以数据库的集群需要同步。

分布式

多台主机提供不一样的服务。
自制预防校园暴力的智能监控系统:打通CentOS前后端,调用百度AI及服务器架构演进_第9张图片
将大系统拆分为多个子系统,每个子系统部署到不同的服务器节点,根据子系统的访问情况决定要不要做集群,做多大的集群,这样管理起来比较细,以提高用户的访问质量。

你可能感兴趣的:(服务器,架构,centos)