最近爱游这里需要搭建一个会议室预约的系统,在网上找了半天一直没有找到,最后发现这款开源的会议室预约系统刚好能满足要求,所以就动手来搭建一波,爱游没有接触过python也是一头雾水,把搭建过程记录下。
meeting是使用Django + django-rest-framework + django-cool 框架开发。
部署流程
这个可以部署在docker或是服务器上面,爱游是部署在docker,部署方式一样的。
1.安装BT面板
Centos安装脚本:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec Ubuntu/Deepin安装脚本:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec Debian安装脚本:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec 万能安装脚本:if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec 国产龙芯架构安装脚本:wget -O install_panel.sh http://download.bt.cn/install/0/loongarch64/loongarch64_install_panel.sh && bash install_panel.sh ed8484bec
2.安装docker管理器
在软件商店找到Docker管理器安装即可
3.获取镜像/创建容器
建议添加一个加速器,这个可以用阿里云的镜像源,这个比较快一些。
{"registry-mirrors": ["https://rsp7hi3b.mirror.aliyuncs.com"]}
然后点镜像管理→获取镜像→dokken/centos-7:latest
获取镜像后,就点创建镜像,如下设置即可
一定要记得端口映射
提交后我们就可以通过ssh进入容器内部
docker exec -it '容器名称' bash
4.配置环境
进入容器后就可以开始安装python3 gcc mariadb git redis 等等
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install -y mariadb-server mariadb-devel \ gcc* git python36 python36-devel redis zip unzip systemctl start mariadb && systemctl enable mariadb systemctl restart redis && systemctl enable redis
5.创建数据库
mysql -e "CREATE SCHEMA meeting DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;"
6.获取代码
git clone https://github.com/007gzs/meeting.git
注意了,这里爱游没有安装git,是直接拷贝进去的,建议直接拷贝,免得你不会vi命令改文件。
安装了git的可以忽略下面的
本地传文件进 docker 容器里面
1.先查询查询容器ID
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 00e7d0f73704 ubuntu:20.04 "bash" 5 hours ago Up 5 hours planck-pi-env
例如,可以得知我这个容器的 CONTAINER ID = 00e7d0f73704
2.传文件进docker指定路径
执行下面命令上传文件到容器中的镜像的指定位置
docker cp /路径/文件名 容器ID:/上传路径
例如:
docker cp meeting.zip 00e7d0f73704:/home
3.从docker传文件到实体机
同理,如果我们需要将docker中的文件传输到实体机上,我们只需要将之前的cp命令方向反过来
docker cp 容器ID:/上传路径 /路径/文件名
例如:
docker cp 00e7d0f73704:/home/meeting.zip /www/wwwroot
7.初始化数据
将 server/meeting/local_settings.py.default
重命名为 server/meeting/local_settings.py
并修改其中相关信息 在server目录中执行(推荐使用虚拟python虚拟环境)
cd ~/meeting/server/meeting/ cp local_settings.py.default local_settings.py
这里要配置appid和securekey,如何获取appid和securekey请自行百度下
8.创建python虚拟环境
python3.6 -m venv /opt/py3 && source /opt/py3/bin/activate
安装依赖
pip install -r ~requirements.txt
如果太慢可以试试下面这个,使用aliyun的源
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
如果报错提示如下:
You are using pip version 9.0.3, however version 22.2.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
说明你的pip版本太低,输入pip install --upgrade pip
来升级pip,一次升级不到最新版,可以再次输入命令升级。
然后再进行安装依赖,不出意外就会安装成功。
9.初始化数据库
cd ~/meeting/server/ python manage.py makemigrations python manage.py migrate
10.创建管理员用户
python manage.py createsuperuser
11.启动服务
python manage.py runserver 0.0.0.0:8000
至此开源会议室meeting的后面就算部署完了,访问ip:8000/sysadmin就可以进入后台。
小程序配置
将miniprogram/utils/api.js文件中const server = ‘http://10.100.0.7:8001’ 修改为你的IP
将miniprogram/project.config.json中appid修改为自己的appid
用微信web开发者工具打开miniprogram并编译
这里要注意的是,如果wsapi报错可以设置 utils/requests.js 中 USE_WEBSOCKET 为 false 不使用websocket,这样就不会报错了。
可能大家注意到了我的小程序多了一个password文件,原因是他这个源码不支持管理创建权限,爱游设置了一个密码,这样只有知道密码的才能创建会议室。
大概就是这样的
好了这样基本就完成了,爱游这里还是遇到一个问题没有解决,就是分享会议室二维码无法生成,如有知道的大佬麻烦指点下,谢谢。
请先
!