Подготовка
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, даже если сертификат не подписан доверенным удостоверяющим центром или есть другие проблемы с проверкой, соединение все равно устанавливается. Предупреждение о безопасности: в продакшене, если используется самоподписанный сертификат или недоверенный сертификат, данная опция позволяет соединению состояться, но сопряжена с риском. Настраивайте ее с учетом реальных условий.
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.
Откройте файл SunuerManage.sln в Visual Studio, измените конфигурационный файл appsettings.json, затем нажмите Выполнить.
Отобразится следующая страница:
Если при вводе в браузере http://localhost:5021 страница успешно загружается, значит конфигурация завершена успешно.
Адрес входа в административную панель: http://localhost:5021/Manage/Login
Логин: niqiu
Пароль: 123456
Развертывание системы
Публикация (Publish)
В Visual Studio нажмите правой кнопкой мыши на проект и выберите “Publish” (Публикация), чтобы собрать проект и сформировать файлы для развертывания.
Развертывание на сервере
Вариант A: Развертывание на Windows IIS
Установка IIS и .NET-расширения
В “Диспетчере серверов” добавьте роль “Web-сервер (IIS)”.
Установите “.NET Core Hosting Bundle” / расширение, чтобы IIS мог хостить .NET-приложения.
Создание сайта
В диспетчере IIS кликните правой кнопкой на “Сайты” и выберите “Добавить сайт…”. Задайте физический путь к опубликованной ранее папке (publish).
Порт (по умолчанию 80) или доменное имя можно настроить по необходимости.
Настройка пула приложений
Создайте или выберите пул приложений. Для версии .NET CLR можете указать “No Managed Code” или конкретную версию .NET (зависит от установленных расширений), а режим конвейера выбрать “Integrated”.
Убедитесь, что учётная запись (Identity) имеет необходимые права доступа к папке и базе данных (особенно если используется Windows-аутентификация).
Проверка доступа
Запустите IIS и перейдите по сконфигурированному домену или IP, чтобы проверить успешный запуск Sunuer Manage.
Если появляется ошибка 500, проверьте логи IIS или журналы событий приложений для получения дополнительной информации.
Вариант B: Развертывание в Linux (с использованием Nginx в качестве обратного прокси)
Установка .NET Runtime
Установите соответствующую версию .NET SDK/Runtime в вашей Linux-среде (Ubuntu / CentOS / Debian и т.д.).
Копирование опубликованных файлов
Загрузите папку 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 или через параметры командной строки.