本demo主要是为了参加阿里云ROM比赛而开设的临时项目,日后开发正式的生物图腾关节活动度智能测量康复评定平台系统时会另起代码仓库。
平台的网页前端使用PHP,数据库使用MySQL,后台算法部分是使用python封装阿里云ROM提供的python接口,并且使用fast API进行web端框架提供内部测试和前端接口使用。
其中前端、后端、算法端所需要的软件环境均使用docker进行打包和部署。
根目录的script_on_mysql.sql是创建数据库用户、库表的语句
-
database_built.sh→数据库docker容器的创建语句
-
php_docker_build_run.sh→PHP前端运行环境的docker容器语句,注意需要用到根目录下的www(网页脚本)和nginx(nginx代理配置脚本)这两个文件夹的文件。
-
simple_det_image_build.sh→
该目录下存放目前前端所有脚本和相关应用目录。其中目前主要在用的是**./www/upload_demo.php和./www/get_result_demo.php**,前者是创建任务上传文件的页面,后者是查看任务结果的页面。
此外需要注意的是,在**./www目录下有一个名为Upload的目录,里面必须有1和2**这两个子目录,而且这几个文件夹必须开放普通用户写入的权限,因为用户上川岛图片最终会通过前端服务存放在该目录中。
该目录下有**./conf/conf.d/runoob-test-php.conf**文件,内容如下:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
-p 8083:80: 端口映射,把 nginx 中的 80 映射到本地的 8083 端口。这样就可以通过docker容器所在机器中的ip+该端口的形式打开前端页面。
此目录存放算法端所用到的所有脚本和构建docker容器所需要的脚本(详见Dockerfile)
其中目录下的**./det_app**存放算法调用部分封装的所有脚本,det_web_app.py是其核心脚本,在前端使用的get_result
获取的返回逻辑就是该脚本处理的。由于算法部分本身也使用fast API进行内部测试封装,想进行测试的话,在终端输入sh start_dev.sh
命令运行测试服务。
这个是只用JavaScript开发的内侧页面demo,网页风格和操作与PHP做的demo类似
网页部分已经进行docker部署,浏览器打开http://192.168.3.211:8083/upload_demo.html 就可以访问;
如果是非内网环境,访问http://27.45.230.34:8083/upload_demo.html;
此外,我也对上述IP和端口做了内网穿透,用域名访问也可以:http://bio-totem.51vip.biz/upload_demo.html
上述页面是使用PHP作为跳转的,方便日后使用PHP进行功能扩展。实际上在simple_det_image的www_root中也内置一个可运行的内侧页面,使用这个页面可以访问: http://192.168.3.188:8084/stage1_upload.html