2026/10/21 10:38:13

YiShaAdmin 部署上手指南:从环境准备到上线调优的完整路径

YiShaAdmin 部署上手指南:从环境准备到上线调优的完整路径 YiShaAdmin 部署上手指南从环境准备到上线调优的完整路径【免费下载链接】YiShaAdmin基于 .NET Core MVC 的权限管理系统代码易读易懂、界面简洁美观项目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdminYiShaAdmin 是基于 .NET Core MVC 的开源权限管理系统内置员工组织、角色权限、菜单授权、定时任务、代码生成器等企业后台常用模块适合拿来做网站管理后台、CRM、ERP、OA 的地基。这篇文章不按问题清单走而是按你真正动手的顺序推进备环境 → 起服务 → 进系统 → 排故障 → 上生产每一步附最短可用的命令与配置。一、动手前的环境预检把三个问题确认清楚后面 80% 的坑都能绕开。装哪版 SDK项目支持 .NET Core 7.0 / 6.0 / 3.1 / 2.2 四档7.0 功能最新、6.0 生态成熟、3.1 长期支持、2.2 面向旧系统。任选其一但必须与项目要求的版本匹配数据库是否就绪MySQL 或 SQL Server 二选一服务要在运行状态端口是否空闲MVC 站点默认 5000WebApi 站点默认 5001被占用就要先腾出来检查 SDK 版本dotnet --version dotnet --list-sdks如果本机版本不对以安装 6.0 为例Linux 上可以wget https://dot.net/v1/dotnet-install.sh chmod x dotnet-install.sh ./dotnet-install.sh --version 6.0.400Windows 直接从官网下载安装包即可。团队协作建议在仓库根目录放一个 global.json 锁定 SDK 版本dotnet new globaljson --sdk-version 6.0.400避免每个人机器上版本漂移。依赖恢复一条命令dotnet restore二、配置数据库并首次启动连接串只改一个文件所有数据库与缓存配置集中在 YiSha.Web/YiSha.Admin.Web/appsettings.json 的SystemConfig段核心就四项DBProvider: SqlServer, DBConnectionString: Serverlocalhost;User Idsa;Password你的密码;DatabaseYsData;, CacheProvider: Memory, ApiSite: http://localhost:5001DBProvider填SqlServer或MySqlMySQL 连接串形如Serverlocalhost;Port3306;DatabaseYiShaAdmin;Uidroot;Pwd你的密码;改完后用客户端快速验证一下连接是否通建库脚本都在仓库里Document/DatabaseScript/ 目录按数据库类型分好了脚本mysql.sql/sqlserver.sql是建表结构对应的_data.sql是初始数据执行完库就算初始化完毕# MySQL 示例 mysql -u root -p mysql.sql # SQL Server 则在 SSMS 中打开 sqlserver.sql 执行开发阶段先用简单密码把链路跑通验证无误再换成强密码不必一上来就纠结。启动与首页自检dotnet run浏览器访问站点用默认账户登录admin / 123456 图形验证码。登录成功后进入系统管理 → 菜单管理能看到完整的菜单树说明库初始化和权限链路都是通的。首页的框架介绍卡片也会列出当前版本首页即仪表盘三、登录之后的两类高频故障菜单和权限问题、定时任务不跑是新手反馈最集中的两件事。下面先用一棵决策树定位方向再按分支给出口。dotnet run 能起来吗 ├── 起不来 ──────────────→ 检查 SDK 版本dotnet --list-sdks→ 依赖恢复dotnet restore └── 能起来连不上库 ├── 是 ──────────────→ 核对 appsettings.json 连接串 → 确认服务在跑、库已建、端口未被防火墙拦 └── 否登录后左侧菜单是空的 ├── 是 ────────────→ 重跑 DatabaseScript 初始化脚本 → 检查管理员角色是否勾了全部菜单 └── 否个别按钮点不了 ├── 是 ────────→ 到角色管理里给对应角色补勾该按钮的权限标识 └── 否定时任务从未执行 ├── 是 ────→ 任务状态是否启用 → Cron 表达式是否合法 → 看日志定位报错 └── 否 ────→ 系统正常 ✓分支 A菜单为空 / 按钮不可用。YiShaAdmin 的权限精确到按钮级看不到菜单和按钮点不了是两回事前者多半是菜单数据没进库重跑初始化脚本或用户没挂角色单位组织 → 员工管理里编辑自己勾上管理员角色后者是角色没勾那个按钮的权限标识到系统管理 → 角色管理里给角色补齐再保存。改完一律重新登录生效。分支 B定时任务不执行。路径在系统工具 → 定时任务按顺序查三处状态开关是不是启用Cron 表达式是否合法可先用在线生成器验证0 0/5 * * * ?每 5 分钟一次、0 0 2 * * ?每天凌晨 2 点、0 0 12 ? * MON-FRI工作日午间点任务里的日志看有没有报错、下次执行时间是否刷新。都正常却仍不跑重启一次应用CtrlC 后dotnet run再观察。建议先配一个每分钟一次的测试任务验证调度器本身没问题再上正式业务任务。四、上线前的缓存、性能与安全红线缓存切换与连接池Memory → Redis把CacheProvider从Memory改成RedisRedisConnectionString填127.0.0.1:6379,password你的密码,defaultDatabase0重启后看日志确认连接成功。没有现成 Redis 的话一条 Docker 命令起临时实例docker run -d --name yisha-redis -p 6379:6379 redis:alpine连接池在连接串末尾追加Poolingtrue;Min Pool Size5;Max Pool Size100;慢查询大表务必分页高频查询字段补索引日志表定期清理别让几百万行日志拖慢整个后台多环境配置仓库里已带 appsettings.Development.json按同样方式补 Staging / Production 文件再用ASPNETCORE_ENVIRONMENT指定环境启动时会自动加载对应配置。环境怎么选场景推荐组合注意个人开发Memory 缓存 本地库数据重启即失适合跑功能小团队10 人内SQL Server Memory记得数据备份生产环境MySQL Redis配监控告警高并发读写分离 Redis 集群架构复杂度显著上升按需评估安全红线生产环境禁用 admin / 123456 这类默认口令执行任何 DDL 之前先备份数据库连接串、密钥一律走配置文件或环境变量不要硬编码进代码启用 HTTPS 保护传输保留 nlog 日志并接入监控依赖包定期升到安全版本。五、下一步往哪走想搞懂权限原理读一读 MenuAuthorizeBLL.cs 与 RoleBLL.cs看菜单-角色-用户三级授权怎么串起来想加速开发用 YiSha.CodeGenerator 里的代码生成器对着数据库表直接产出 CRUD 页面想做开放接口YiSha.Admin.WebApi 项目就是现成的 RESTful API 样板部署只是起点把上面这棵决策树记牢之后遇到怪现象顺着分支走比盲目重启快得多。【免费下载链接】YiShaAdmin基于 .NET Core MVC 的权限管理系统代码易读易懂、界面简洁美观项目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdmin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考