準備工作
1.NET SDK >= 8.0 下載地址:https://dotnet.microsoft.com/zh-cn/download
2.Visual Studio2022 下載地址:https://visualstudio.microsoft.com/
3.SQL Server >= 2019 下載地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads
4.SQL Server Management Studio 下載地址:https://learn.microsoft.com/zh-cn/sql/ssms/
必要配置
根目錄下 appsettings.json 文件中的
"ConnectionStrings": {
"DefaultConnection": "Server=nhdSQLEXPRESS;Database=SunuerManage;User Id=sa;Password=123456;MultipleActiveResultSets=true;TrustServerCertificate=True;Max Pool Size=100;Min Pool Size=5;Pooling=true;"
},
Server=nhd/SQLEXPRESS:指定要連線的資料庫伺服器及實例名稱
Database=SunuerManage:指定要連線的預設資料庫名稱
User Id=sa; Password=123456:提供登入 SQL Server 所需的憑證(帳號與密碼)
MultipleActiveResultSets=true:允許在同一個資料庫連線(同一個會話)上同時進行多個資料讀取操作。例如在一個查詢讀取資料的同時,還可以執行另一個查詢。此參數在使用 Entity Framework 時尤為重要,如果在同一個連線中需要一邊迭代讀取資料、一邊執行其他操作,必須將此參數設定為 true 才能支援。
TrustServerCertificate=True:當使用 TLS/SSL 加密連線至 SQL Server 時,是否信任伺服器端提供的憑證。若設定為 True,即使該憑證並非由受信任的 CA 簽署或存在其他驗證問題,仍強制信任並建立加密連線。安全提示:在正式環境中若使用自簽名憑證或非公開信任憑證,雖然此選項可讓連線繼續,但也帶來一定的安全風險,應依實際需求進行設定與配置。
Max Pool Size=100; Min Pool Size=5; Pooling=true:控制資料庫連線池(Connection Pool)的行為。
Pooling=true:啟用連線池,能在應用程式頻繁存取資料庫時提升效能,減少開啟/關閉連線的開銷。
Max Pool Size=100:連線池中最多保留多少條空閒連線。若超過該數,新的連線請求會在連線釋放前等待或根據配置拋出例外。
Min Pool Size=5:連線池中最少保留多少條空閒連線。在應用程式首次連線資料庫時,會預熱並保留 5 條連線,以便後續連線請求能更快速地響應。
運行系統:
下載並解壓縮後
在 Data 資料夾中找到 SunuerManage.sql 檔案,並在 SQL Server 資料庫中進行還原。
使用 Visual Studio 打開「SunuerManage.sln」檔案,修改 appsettings.json 配置檔,然後點選 執行。
顯示頁面如下:
在瀏覽器中輸入 http://localhost:5021,若頁面能正常開啟,表示配置成功。
後台登入地址:http://localhost:5021/Manage/Login
帳號:niqiu
密碼:123456
部署系統
發佈(Publish)
在 Visual Studio 中,對專案名稱按右鍵並選擇「發佈」,進行專案發佈。
部署到伺服器
方案 A:部署到 Windows IIS
安裝 IIS 和 .NET 擴充
在「伺服器管理員」中新增「Web 伺服器 (IIS)」角色。
安裝「.NET Core 執行環境 / 擴充」以便 IIS 能夠代管 .NET 應用程式。
建立網站
在 IIS 管理器中,於「網站」按右鍵選「新增網站」,並將實體路徑指向先前發佈的資料夾(publish)。
連接埠(預設 80)或網域名稱可依需求自訂。
應用程式集區設定
新增或選擇一個應用程式集區,.NET CLR 版本可以選擇「No Managed Code」或「.NET CLR 版本」(視安裝的擴充功能而定),管線模式選「整合」。
確保「識別」具備對發佈資料夾和資料庫的存取權限(若需使用 Windows 驗證時需特別留意)。
測試存取
啟動 IIS,透過先前設定的網域或 IP 檢驗 Sunuer Manage 是否成功運行。
如遇到「500 錯誤」,可檢視 IIS 日誌或應用程式事件日誌以獲取詳細錯誤資訊。
方案 B:部署到 Linux(使用 Nginx 反向代理)
安裝 .NET 執行階段
在 Linux 環境(Ubuntu / CentOS / Debian 等)中安裝對應版本的 .NET SDK/Runtime。
拷貝發佈檔案
將 publish 資料夾上傳到伺服器(如 /var/www/sunuer 目錄)。
進入該目錄,執行 dotnet SunuerManage.dll(範例)測試是否可以正常啟動。
配置 Nginx
在 /etc/nginx/sites-available/ 路徑下建立配置檔(例如 sunuer.conf)。示例:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
將請求轉發到應用程式所監聽的埠(預設為 5000),您可以在 appsettings.json 或使用命令列參數來指定埠號。