每天对着满屏的Excel表格埋头苦干,手动盘点,不仅眼睛看花,还总免不了按错一个数字,导致月底对账“丈二和尚摸不着头脑”。市面上的SaaS进销存软件五花八门,但年费像个无底洞。今天,我们就来聊聊开源进销存ERP系统部署教程。开源意味着永久使用、数据完全私有、功能随心所欲。更重要的是,借助于现代的“容器化”技术,哪怕是毫无编程基础的纯小白,只要跟着本教程一步步操作,让你也能让自己拥有的一套企业级ERP系统!

源码及演示:c.csymzs.top

技术栈选型:2026年最稳的组合方案

选对技术栈, deployment 事半功倍。以下是经过大量生产环境验证的黄金组合

层级 推荐技术 选型理由
后端框架 Spring Boot 2.7+(Java)或 Django 4.2(Python) Spring Boot 生态最完善,适合中大型企业;Django 适合快速搭建中小型系统
前端框架 Vue 3 + TypeScript + Element Plus 响应式界面,PC/移动端/PDA扫码终端全适配,开发效率提升40%
主数据库 MySQL 8.0(首选) 社区资料最丰富、生态最成熟、性能均衡,通用选型无脑选它
缓存中间件 Redis 7.0 缓存商品SKU、库存数量等热点数据,查询响应时间 <200ms
消息队列 RabbitMQ / Kafka 处理库存变更、订单通知等异步任务,确保数据一致性
搜索引擎 Elasticsearch 商品检索、订单查询加速
Web服务器 Nginx 1.20+ + OpenSSL 3.0 启用HTTP/2协议,静态资源加载速度提升50%
容器化部署 Docker + Docker Compose 环境标准化,一键部署,告别"在我机器上能跑"的噩梦

数据库选型深度对比

数据库 优点 注意事项 适用场景
MySQL 8.0 ✅ 首选 社区生态成熟、性能均衡、InnoDB引擎事务支持强 字符集需统一utf8mb4,时区设为+08:00 通用选型,90%的进销存场景
PostgreSQL 14+ 复杂查询强、CTE/JSON友好 驱动与ORM配置细节多 报表/复杂库存核算场景
SQL Server 与.NET生态契合 授权成本高、跨平台限制 .NET项目与财务一体化

一句话建议:除非你有特殊需求,否则MySQL 8.0 + Redis 7.0就是你的不二之选。

硬件配置建议:花小钱办大事

规模 CPU 内存 磁盘 网络 日处理量
基础版(≤50并发) 2核 4GB 40GB SSD ≥10Mbps 5000单/天
标准版(≤200并发) 4核 8GB 100GB SSD ≥50Mbps 10000单/天
高并发版(日均2万单) 8核 16GB 500GB NVMe ≥100Mbps 20000单/天

💡 省钱技巧:阿里云ECS c6实例(4核8G)约200元/月,足以支撑日均万级订单,配合100GB SSD,年成本不到3000元,比任何SaaS都便宜十倍。

操作系统推荐 CentOS 8 / AlmaLinux 8 / Ubuntu 22.04+,Linux环境更便于自动化运维与容器化部署。

四、部署具体步骤:八步搞定,保姆级教程

第一步:环境与依赖准备

# 更新系统
sudo yum update -y  # CentOS
# 或
sudo apt update && sudo apt upgrade -y  # Ubuntu

# 安装基础工具
sudo yum install -y git wget curl vim net-tools

# 安装 Docker(推荐方式)
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker

# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

关键参数优化(CentOS内核调优,提升并发30%+):

echo "net.core.somaxconn=65535" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog=65535" >> /etc/sysctl.conf
sysctl -p

第二步:获取与核验源码

GitHub / Gitee 官方仓库下载源码,务必核对开源协议(MIT / Apache-2.0 确保商用合规)。

# 示例:克隆项目
git clone https://gitee.com/xxx/erp-system.git
cd erp-system
git checkout release/v1.2.0  # 切到稳定分支,别用master!

目录结构通常如下

erp-system/
├── backend/          # 后端服务(Spring Boot Jar / Django项目)
├── frontend/         # 前端工程(Vue3 + Vite)
├── sql/              # 建库建表脚本、演示数据
├── docker-compose.yml # 一键部署配置
├── docs/             # 部署手册、ER图、接口文档
└── scripts/          # 初始化脚本、Dockerfile

第三步:数据库安装与初始化 ⭐最关键

这一步是整个部署的命门,务必仔细操作。

# 方式一:Docker一键拉取MySQL 8.0(推荐)
docker run -d \
  --name erp-mysql \
  -e MYSQL_ROOT_PASSWORD=SecurePass123! \
  -e MYSQL_DATABASE=erp_production \
  -e MYSQL_CHARSET=utf8mb4 \
  -e MYSQL_COLLATION=utf8mb4_general_ci \
  -p 3306:3306 \
  mysql:8.0

# 方式二:系统原生安装
sudo yum install -y mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

创建业务库与最小权限账号(安全最佳实践):

-- 登录MySQL
mysql -u root -p

-- 创建数据库(字符集统一!)
CREATE DATABASE erp_production CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 创建专用账号(按库授权,禁止root远程登录)
CREATE USER 'erp_user'@'%' IDENTIFIED BY 'YourStrongPassword@2026';
GRANT ALL PRIVILEGES ON erp_production.* TO 'erp_user'@'%';
FLUSH PRIVILEGES;

-- 导入结构与字典数据
USE erp_production;
SOURCE /path/to/erp-system/sql/schema.sql;
SOURCE /path/to/erp-system/sql/dict.sql;

-- 可选:导入演示数据(生产环境慎用!)
-- SOURCE /path/to/erp-system/sql/demo_data.sql;

性能调优参数(my.cnf添加):

[mysqld]
innodb_buffer_pool_size = 5600M      # 物理内存的70%
innodb_log_file_size = 512M
slow_query_log = 1
long_query_time = 2
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

第四步:后端编译与构建

Java(Spring Boot)项目

cd backend
# 确保JDK 17+、Maven 3.8+
mvn -U clean package -DskipTests
# 产物:target/app.jar

Python(Django)项目

cd backend
pip install -r requirements.txt
python manage.py migrate --force
python manage.py collectstatic

PHP(Laravel/ThinkPHP)项目

cd backend
composer install --no-dev -o
cp .env.example .env
# 编辑.env配置数据库连接
php artisan migrate --force

第五步:前端打包与静态资源部署

cd frontend
# 安装依赖
npm ci  # 或 pnpm i --frozen-lockfile

# 生产构建
npm run build
# 产物:dist/ 目录

第六步:Docker Compose一键编排 ⭐核心部署

创建 docker-compose.yml

version: '3.8'
services:
  erp-db:
    image: mysql:8.0
    container_name: erp-mysql
    environment:
      MYSQL_ROOT_PASSWORD: SecurePass123!
      MYSQL_DATABASE: erp_production
      MYSQL_CHARSET: utf8mb4
    volumes:
      - ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql
      - mysql_data:/var/lib/mysql
    restart: always
    networks:
      - erp-net

  erp-redis:
    image: redis:7.0
    container_name: erp-redis
    command: redis-server --requirepass RedisPass123!
    volumes:
      - redis_data:/data
    restart: always
    networks:
      - erp-net

  erp-backend:
    build: ./backend
    container_name: erp-backend
    depends_on:
      - erp-db
      - erp-redis
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://erp-db:3306/erp_production?useUnicode=true&characterEncoding=utf8mb4&serverTimezone=Asia/Shanghai
      SPRING_REDIS_HOST: erp-redis
      SPRING_REDIS_PASSWORD: RedisPass123!
    ports:
      - "8080:8080"
    restart: always
    networks:
      - erp-net

  erp-frontend:
    image: nginx:alpine
    container_name: erp-nginx
    volumes:
      - ./frontend/dist:/usr/share/nginx/html
      - ./nginx/conf.d:/etc/nginx/conf.d
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - erp-backend
    restart: always
    networks:
      - erp-net

volumes:
  mysql_data:
  redis_data:

networks:
  erp-net:
    driver: bridge

一键启动

docker-compose up -d

访问 http://你的服务器IP,系统初始化引导页面即出现!

第七步:系统初始化与配置

  1. 创建管理员账号:首次访问自动跳转设置向导
  2. 配置企业信息:公司名称、仓库、货币单位
  3. 权限角色划分:采购员、库管员、财务人员——基于RBAC权限模型,数据隔离与操作审计一步到位
  4. 导入基础数据:商品清单、供应商名录、客户清单(支持Excel/CSV批量导入)

第八步:安全加固与运维保障

项目 操作 说明
HTTPS Let’s Encrypt + Certbot 自动续期 严格HTTPS,HSTS + 现代TLS
防火墙 仅暴露443端口,内网端口限制访问 firewall-cmd --add-port=443/tcp --permanent
数据备份 每日全量 + Binlog实时增量 mysqldump 定时任务 + 跨可用区快照
日志监控 ELK栈集中存储 + Prometheus监控 CPU >85%触发告警,推送企业微信
定期更新 关注GitHub Release,及时合并安全补丁 漏洞密度控制 <0.1/KLOC

在这里插入图片描述

写在最后

今天,开源进销存ERP早已不是"能不能用"的问题,而是"好不好用"的问题。一套成熟的开源系统,配合Docker一键部署,小白也能上线,老手可以定制。技术从来不应成为管理的壁垒。在这个开源力量蓬勃发展的时代,哪怕你只是一个人、一间小店,也能凭借这些顶尖的免费工具,拥有堪比大企业的数字化战斗力。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐