境準(zhǔn)備到上線調(diào)優(yōu)的完整路徑)
YiShaAdmin 部署上手指南從環(huán)境準(zhǔn)備到上線調(diào)優(yōu)的完整路徑【免費(fèi)下載鏈接】YiShaAdmin基于 .NET Core MVC 的權(quán)限管理系統(tǒng)代碼易讀易懂、界面簡潔美觀項(xiàng)目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdminYiShaAdmin 是基于 .NET Core MVC 的開源權(quán)限管理系統(tǒng)內(nèi)置員工組織、角色權(quán)限、菜單授權(quán)、定時(shí)任務(wù)、代碼生成器等企業(yè)后臺常用模塊適合拿來做網(wǎng)站管理后臺、CRM、ERP、OA 的地基。這篇文章不按問題清單走而是按你真正動手的順序推進(jìn)備環(huán)境 → 起服務(wù) → 進(jìn)系統(tǒng) → 排故障 → 上生產(chǎn)每一步附最短可用的命令與配置。一、動手前的環(huán)境預(yù)檢把三個問題確認(rèn)清楚后面 80% 的坑都能繞開。裝哪版 SDK項(xiàng)目支持 .NET Core 7.0 / 6.0 / 3.1 / 2.2 四檔7.0 功能最新、6.0 生態(tài)成熟、3.1 長期支持、2.2 面向舊系統(tǒng)。任選其一但必須與項(xiàng)目要求的版本匹配數(shù)據(jù)庫是否就緒MySQL 或 SQL Server 二選一服務(wù)要在運(yùn)行狀態(tài)端口是否空閑MVC 站點(diǎn)默認(rèn) 5000WebApi 站點(diǎn)默認(rèn) 5001被占用就要先騰出來檢查 SDK 版本dotnet --version dotnet --list-sdks如果本機(jī)版本不對以安裝 6.0 為例Linux 上可以wget https://dot.net/v1/dotnet-install.sh chmod x dotnet-install.sh ./dotnet-install.sh --version 6.0.400Windows 直接從官網(wǎng)下載安裝包即可。團(tuán)隊(duì)協(xié)作建議在倉庫根目錄放一個 global.json 鎖定 SDK 版本dotnet new globaljson --sdk-version 6.0.400避免每個人機(jī)器上版本漂移。依賴恢復(fù)一條命令dotnet restore二、配置數(shù)據(jù)庫并首次啟動連接串只改一個文件所有數(shù)據(jù)庫與緩存配置集中在 YiSha.Web/YiSha.Admin.Web/appsettings.json 的SystemConfig段核心就四項(xiàng)DBProvider: SqlServer, DBConnectionString: Serverlocalhost;User Idsa;Password你的密碼;DatabaseYsData;, CacheProvider: Memory, ApiSite: http://localhost:5001DBProvider填SqlServer或MySqlMySQL 連接串形如Serverlocalhost;Port3306;DatabaseYiShaAdmin;Uidroot;Pwd你的密碼;改完后用客戶端快速驗(yàn)證一下連接是否通建庫腳本都在倉庫里Document/DatabaseScript/ 目錄按數(shù)據(jù)庫類型分好了腳本mysql.sql/sqlserver.sql是建表結(jié)構(gòu)對應(yīng)的_data.sql是初始數(shù)據(jù)執(zhí)行完庫就算初始化完畢# MySQL 示例 mysql -u root -p mysql.sql # SQL Server 則在 SSMS 中打開 sqlserver.sql 執(zhí)行開發(fā)階段先用簡單密碼把鏈路跑通驗(yàn)證無誤再換成強(qiáng)密碼不必一上來就糾結(jié)。啟動與首頁自檢dotnet run瀏覽器訪問站點(diǎn)用默認(rèn)賬戶登錄admin / 123456 圖形驗(yàn)證碼。登錄成功后進(jìn)入系統(tǒng)管理 → 菜單管理能看到完整的菜單樹說明庫初始化和權(quán)限鏈路都是通的。首頁的框架介紹卡片也會列出當(dāng)前版本首頁即儀表盤三、登錄之后的兩類高頻故障菜單和權(quán)限問題、定時(shí)任務(wù)不跑是新手反饋?zhàn)罴械膬杉?。下面先用一棵決策樹定位方向再按分支給出口。dotnet run 能起來嗎 ├── 起不來 ──────────────→ 檢查 SDK 版本dotnet --list-sdks→ 依賴恢復(fù)dotnet restore └── 能起來連不上庫 ├── 是 ──────────────→ 核對 appsettings.json 連接串 → 確認(rèn)服務(wù)在跑、庫已建、端口未被防火墻攔 └── 否登錄后左側(cè)菜單是空的 ├── 是 ────────────→ 重跑 DatabaseScript 初始化腳本 → 檢查管理員角色是否勾了全部菜單 └── 否個別按鈕點(diǎn)不了 ├── 是 ────────→ 到角色管理里給對應(yīng)角色補(bǔ)勾該按鈕的權(quán)限標(biāo)識 └── 否定時(shí)任務(wù)從未執(zhí)行 ├── 是 ────→ 任務(wù)狀態(tài)是否啟用 → Cron 表達(dá)式是否合法 → 看日志定位報(bào)錯 └── 否 ────→ 系統(tǒng)正常 ?分支 A菜單為空 / 按鈕不可用。YiShaAdmin 的權(quán)限精確到按鈕級看不到菜單和按鈕點(diǎn)不了是兩回事前者多半是菜單數(shù)據(jù)沒進(jìn)庫重跑初始化腳本或用戶沒掛角色單位組織 → 員工管理里編輯自己勾上管理員角色后者是角色沒勾那個按鈕的權(quán)限標(biāo)識到系統(tǒng)管理 → 角色管理里給角色補(bǔ)齊再保存。改完一律重新登錄生效。分支 B定時(shí)任務(wù)不執(zhí)行。路徑在系統(tǒng)工具 → 定時(shí)任務(wù)按順序查三處狀態(tài)開關(guān)是不是啟用Cron 表達(dá)式是否合法可先用在線生成器驗(yàn)證0 0/5 * * * ?每 5 分鐘一次、0 0 2 * * ?每天凌晨 2 點(diǎn)、0 0 12 ? * MON-FRI工作日午間點(diǎn)任務(wù)里的日志看有沒有報(bào)錯、下次執(zhí)行時(shí)間是否刷新。都正常卻仍不跑重啟一次應(yīng)用CtrlC 后dotnet run再觀察。建議先配一個每分鐘一次的測試任務(wù)驗(yàn)證調(diào)度器本身沒問題再上正式業(yè)務(wù)任務(wù)。四、上線前的緩存、性能與安全紅線緩存切換與連接池Memory → Redis把CacheProvider從Memory改成RedisRedisConnectionString填127.0.0.1:6379,password你的密碼,defaultDatabase0重啟后看日志確認(rèn)連接成功。沒有現(xiàn)成 Redis 的話一條 Docker 命令起臨時(shí)實(shí)例docker run -d --name yisha-redis -p 6379:6379 redis:alpine連接池在連接串末尾追加Poolingtrue;Min Pool Size5;Max Pool Size100;慢查詢大表務(wù)必分頁高頻查詢字段補(bǔ)索引日志表定期清理別讓幾百萬行日志拖慢整個后臺多環(huán)境配置倉庫里已帶 appsettings.Development.json按同樣方式補(bǔ) Staging / Production 文件再用ASPNETCORE_ENVIRONMENT指定環(huán)境啟動時(shí)會自動加載對應(yīng)配置。環(huán)境怎么選場景推薦組合注意個人開發(fā)Memory 緩存 本地庫數(shù)據(jù)重啟即失適合跑功能小團(tuán)隊(duì)10 人內(nèi)SQL Server Memory記得數(shù)據(jù)備份生產(chǎn)環(huán)境MySQL Redis配監(jiān)控告警高并發(fā)讀寫分離 Redis 集群架構(gòu)復(fù)雜度顯著上升按需評估安全紅線生產(chǎn)環(huán)境禁用 admin / 123456 這類默認(rèn)口令執(zhí)行任何 DDL 之前先備份數(shù)據(jù)庫連接串、密鑰一律走配置文件或環(huán)境變量不要硬編碼進(jìn)代碼啟用 HTTPS 保護(hù)傳輸保留 nlog 日志并接入監(jiān)控依賴包定期升到安全版本。五、下一步往哪走想搞懂權(quán)限原理讀一讀 MenuAuthorizeBLL.cs 與 RoleBLL.cs看菜單-角色-用戶三級授權(quán)怎么串起來想加速開發(fā)用 YiSha.CodeGenerator 里的代碼生成器對著數(shù)據(jù)庫表直接產(chǎn)出 CRUD 頁面想做開放接口YiSha.Admin.WebApi 項(xiàng)目就是現(xiàn)成的 RESTful API 樣板部署只是起點(diǎn)把上面這棵決策樹記牢之后遇到怪現(xiàn)象順著分支走比盲目重啟快得多?!久赓M(fèi)下載鏈接】YiShaAdmin基于 .NET Core MVC 的權(quán)限管理系統(tǒng)代碼易讀易懂、界面簡潔美觀項(xiàng)目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdmin創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考