大同档案管理系统:从零搭建企业级数字档案库实操指南

一、环境准备与基础架构规划

1.1 硬件与软件要求

最低配置:2核CPU/4GB内存/100GB硬盘。推荐生产环境:4核CPU/8GB内存/500GB硬盘+RAID1磁盘阵列。操作系统选择Ubuntu Server 22.04 LTS。

安装基础依赖包:

``` sudo apt update sudo apt install -y nginx postgresql-14 redis-server python3-pip python3-venv git ```

1.2 数据库初始化

创建专用数据库用户和数据库:

``` sudo -u postgres psql CREATE USER datong_admin WITH PASSWORD 'YourStrongPassword123!'; CREATE DATABASE datong_archive OWNER datong_admin; \q ```

二、核心系统部署

2.1 应用服务器部署

创建应用目录并设置权限:

``` sudo mkdir -p /opt/datong sudo chown -R $USER:$USER /opt/datong cd /opt/datong ```

克隆代码仓库:

``` git clone https://github.com/datong-archive/core-system.git cd core-system ```

创建Python虚拟环境并安装依赖:

``` python3 -m venv venv source venv/bin/activate pip install -r requirements/production.txt ```

2.2 配置文件设置

复制配置文件模板并编辑:

``` cp config/settings/production.example.py config/settings/production.py nano config/settings/production.py ```

在production.py中修改以下关键配置:

``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'datong_archive', 'USER': 'datong_admin', 'PASSWORD': 'YourStrongPassword123!', 'HOST': 'localhost', 'PORT': '5432', } } REDIS_URL = 'redis://localhost:6379/0' MEDIA_ROOT = '/opt/datong/media' STATIC_ROOT = '/opt/datong/static' ALLOWED_HOSTS = ['your-domain.com', 'localhost'] ```

2.3 数据库迁移与初始化

执行数据库迁移:

``` python manage.py migrate --settings=config.settings.production ```

创建超级管理员账户:

``` python manage.py createsuperuser --settings=config.settings.production ```

按照提示输入用户名、邮箱和密码。

收集静态文件:

``` python manage.py collectstatic --settings=config.settings.production ```

三、服务配置与优化

3.1 Gunicorn配置

创建Gunicorn服务文件:

``` sudo nano /etc/systemd/system/datong.service ```

添加以下内容:

``` [Unit] Description=Datong Archive Gunicorn Service After=network.target [Service] User=www-data Group=www-data WorkingDirectory=/opt/datong/core-system Environment="PATH=/opt/datong/core-system/venv/bin" ExecStart=/opt/datong/core-system/venv/bin/gunicorn \ --workers 3 \ --bind unix:/opt/datong/datong.sock \ config.wsgi:application [Install] WantedBy=multi-user.target ```

启动并启用服务:

``` sudo systemctl start datong sudo systemctl enable datong ```

3.2 Nginx配置

创建Nginx站点配置文件:

``` sudo nano /etc/nginx/sites-available/datong ```

添加以下配置:

``` server { listen 80; server_name your-domain.com; location /static/ { alias /opt/datong/static/; } location /media/ { alias /opt/datong/media/; } location / { include proxy_params; proxy_pass http://unix:/opt/datong/datong.sock; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; } } ```

启用站点配置:

``` sudo ln -s /etc/nginx/sites-available/datong /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx ```

3.3 Redis缓存配置

编辑Redis配置文件:

``` sudo nano /etc/redis/redis.conf ```

找到并修改以下参数:

``` maxmemory 256mb maxmemory-policy allkeys-lru appendonly yes ```

重启Redis服务:

``` sudo systemctl restart redis-server ```

四、档案管理功能配置

4.1 档案分类体系设置

登录系统后台(your-domain.com/admin),进入"档案分类"管理界面。

创建三级分类结构示例:

  • 一级分类:行政档案
  • 二级分类:人事档案、财务档案、会议档案
  • 三级分类:员工档案、薪资档案、会议纪要

每个分类需要配置:

  • 分类编码:如RS-001(人事-001)
  • 保管期限:永久/30年/10年
  • 密级:公开/内部/秘密

4.2 档案数字化流程配置

配置扫描仪接入:

``` 安装扫描工具 sudo apt install -y sane sane-utils 测试扫描仪 scanimage -L ```

在系统设置中配置扫描参数:

  • 默认分辨率:300 DPI
  • 文件格式:PDF/A
  • 色彩模式:彩色/黑白/灰度
  • 文件命名规则:{分类代码}_{档案号}_{日期}.pdf

4.3 全文检索配置

大同档案管理系统:从零搭建企业级数字档案库实操指南

安装并配置Elasticsearch:

``` 安装Java sudo apt install -y openjdk-11-jdk 下载Elasticsearch wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.9-amd64.deb sudo dpkg -i elasticsearch-7.17.9-amd64.deb ```

编辑Elasticsearch配置:

``` sudo nano /etc/elasticsearch/elasticsearch.yml ```

修改以下配置:

``` cluster.name: datong-archive network.host: localhost http.port: 9200 discovery.type: single-node ```

启动Elasticsearch:

``` sudo systemctl start elasticsearch sudo systemctl enable elasticsearch ```

在Django中配置搜索:

``` 安装django-elasticsearch-dsl pip install django-elasticsearch-dsl 配置settings.py ELASTICSEARCH_DSL = { 'default': { 'hosts': 'localhost:9200' } } ```

五、系统监控与维护

5.1 日志配置

配置系统日志轮转:

``` sudo nano /etc/logrotate.d/datong ```

添加以下配置:

``` /opt/datong/logs/.log { daily missingok rotate 30 compress delaycompress notifempty create 640 www-data www-data sharedscripts postrotate systemctl reload datong endscript } ```

5.2 备份策略

创建自动备份脚本:

``` sudo nano /opt/datong/backup.sh ```

脚本内容:

``` !/bin/bash BACKUP_DIR="/opt/datong/backups" DATE=$(date +%Y%m%d_%H%M%S) 备份数据库 pg_dump -U datong_admin datong_archive > $BACKUP_DIR/db_$DATE.sql 备份媒体文件 tar -czf $BACKUP_DIR/media_$DATE.tar.gz /opt/datong/media/ 保留最近7天备份 find $BACKUP_DIR -type f -mtime +7 -delete ```

设置定时任务:

``` sudo crontab -e 每天凌晨2点执行备份 0 2 /bin/bash /opt/datong/backup.sh ```

5.3 性能监控

安装监控工具:

``` pip install django-debug-toolbar ```

在settings.py中配置:

``` INSTALLED_APPS = [ ... 'debug_toolbar', ] MIDDLEWARE = [ 'debug_toolbar.middleware.DebugToolbarMiddleware', ... ] INTERNAL_IPS = ['127.0.0.1'] ```

访问系统时,页面右侧会出现调试工具栏,可查看SQL查询、缓存命中率等性能指标。

六、故障排除

6.1 常见问题解决

问题1:数据库连接失败

检查PostgreSQL服务状态:

``` sudo systemctl status postgresql ```

检查连接配置:

``` psql -h localhost -U datong_admin -d datong_archive ```

问题2:静态文件404错误

检查Nginx配置中的静态文件路径:

``` sudo nginx -t ls -la /opt/datong/static/ ```

问题3:上传文件大小限制

修改Nginx配置:

``` client_max_body_size 100M; ```

修改Django配置:

``` DATA_UPLOAD_MAX_MEMORY_SIZE = 104857600 FILE_UPLOAD_MAX_MEMORY_SIZE = 104857600 ```

6.2 系统更新流程

停止服务:

``` sudo systemctl stop datong ```

更新代码:

``` cd /opt/datong/core-system git pull origin main ```

更新依赖:

``` source venv/bin/activate pip install -r requirements/production.txt ```

执行数据库迁移:

``` python manage.py migrate --settings=config.settings.production python manage.py collectstatic --settings=config.settings.production ```

重启服务:

``` sudo systemctl start datong sudo systemctl reload nginx ```
AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统