# 装备成本估算系统部署指南
## 一、系统要求
### 1. 基础软件
- Linux 操作系统 (推荐 Ubuntu 22.04+)
- Python 3.12 及相关组件
```bash
sudo apt update
sudo apt install python3 python3-pip python3-venv
sudo apt install python3-dev build-essential
```
- Node.js 14+ 及 npm
```bash
# 使用 nvm 安装 Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 14
nvm use 14
```
- Windows 操作系统 (推荐 Windows 10+)
- Python 3.12 及相关组件
参考:
- Node.js 14+ 及 npm
参考:
```bash
# 设置执行策略
set-executionpolicy remotesigned
```
### 2. 数据库
- MySQL 8.0+
```bash
sudo apt install mysql-server mysql-client
sudo apt install libmysqlclient-dev
```
Windows 参考:
### 3. Python包依赖
```bash
# Windows系统下安装依赖
# 1. 创建并激活虚拟环境
python -m venv venv
.\venv\Scripts\activate
# 2. 设置pip源为国内镜像(可选,但推荐)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 3. 更新pip
python -m pip install --upgrade pip
# 4. 安装依赖包(使用UTF-8编码)
# PowerShell命令行
$env:PYTHONUTF8=1
pip install -r requirements.txt
# Linux系统下安装依赖
# 1. 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
# 2. 安装依赖包
pip install -r requirements.txt
# 解析Excel文件需要安装以下依赖
pip install pandas
pip install openpyxl
pip install xlrd
# 常见问题解决:
# 1. 如果遇到编码错误,请确保使用UTF-8编码
# 2. 如果安装过程中出现权限问题,请使用管理员权限运行命令行
# 3. 如果下载速度慢,建议使用国内镜像源
# 4. 如果出现SSL证书错误,可以尝试添加--trusted-host参数:
pip install -r requirements.txt --trusted-host pypi.tuna.tsinghua.edu.cn
```
### 4. 科学计算相关
sudo apt install libatlas-base-dev # numpy依赖
sudo apt install libopenblas-dev # 线性代数库
sudo apt install liblapack-dev # 线性代数包
sudo apt install gfortran # Fortran编译器(scipy依赖)
## XML处理相关(用于Excel文件处理)
```bash
sudo apt install libxml2-dev
sudo apt install libxslt1-dev
```
## 二、部署运行
### 1. 安装服务
```bash
sh scripts/install.sh
```
### 2. 启动服务
```bash
sh scripts/start.sh
```
### 3. 停止服务
```bash
sh scripts/stop.sh
```
## 三、维护说明
### 1. 日志管理
```bash
# 后端日志
tail -f logs/api.log
# 数据库日志
tail -f /var/log/mysql/error.log
```
## 四、安全建议
1. 系统安全
- 使用防火墙限制端口访问
- 定期更新系统和依赖包
2. 数据安全
- 定期备份数据库
- 加密敏感信息
- 限制数据库远程访问
3. 访问控制
- 使用强密码
- 配置适当的文件权限
- 使用非root用户运行服务
## 五、监控方案
### 1. 系统监控
```bash
# 资源使用
top -b -n 1
df -h
free -m
# 服务状态
ps aux | grep gunicorn
ps aux | grep node
```
### 2. 应用监控
```bash
# API 响应时间
curl -w "@curl-format.txt" -o /dev/null -s "http://localhost:5001/api/"
# 错误日志
grep "ERROR" logs/api.log
```