# smartclass-backend **Repository Path**: devsuperjin/smartclass-backend ## Basic Information - **Project Name**: smartclass-backend - **Description**: 智慧教室管理系统的后端部分。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-26 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Smartclass MGMT

## 本项目是SMARTCLASS-MGMT的后端 基于fastapi框架 ## 运行环境要求 Python3.10 or newer ## 先决条件 1.安装项目依赖包 ``` pip3 install -r requirements.txt ``` 2.安装Mariadb,并初始化数据库,具体见项目配置文件 ## 建议的部署方式 1.将项目下的文件复制至/usr/local/smartclass-mgmt/,并且将conf文件复制至/etc/smartclass-mgmt/目录下 ```shell git clone https://{address}/smartclass-mgmt.git mkdir /usr/local/smartclass-mgmt/ cp -r ./* /usr/local/smartclass-mgmt/ mkdir /etc/smartclass-mgmt/ cp ./smartclass-mgmt.conf /etc/smartclass-mgmt/ ``` 2.创建service文件,使得smartclass-mgmt成为系统服务 ``` [Unit] Description=api-registry After=network.target [Service] WorkingDirectory=/usr/local/smartclass-mgmt EnvironmentFile=-/etc/smartclass-mgmt/smartclass-mgmt.conf PIDFile=/var/run/smartclass-mgmt/run.pid ExecStartPre=-/usr/bin/mkdir /var/run/smartclass-mgmt/ ExecStart=/bin/sh -c '${UVICORN_BIN} main:app --workers $WORKER_THREAD --host $HOST --port $PORT' ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID Restart=always [Install] WantedBy=multi-user.target ``` 将文件命名为smartclass-mgmt.service复制至/usr/lib/systemd/system/目录,并添加开机启动 ``` cp ./smartclass-mgmt.service /usr/lib/systemd/system/ systemctl enable smartclass-mgmt ``` 使用nginx反向代理的形式代理 /api端点,配置如下。 ``` server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # rewrite ^(.*)$ https://$host$1 permanent; location /api { proxy_pass http://127.0.0.1:8000/api; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } ``` 将前端打包后的文件上传到/usr/share/nginx/html目录中。