Masuit.MyBlogs
Проект личного блога с высокой производительностью и безопасностью, возможно, это самый высокопроизводительный веб-проект, который я написал. Всего 3 МБ кода! В настоящее время ежедневно обрабатывается от 80 до 600 тысяч запросов, одновременно в сети находится от 60 до 600 активных пользователей, накоплено уже несколько сотен тысяч записей данных, база данных, Redis и основное приложение сайта работают одновременно на одном компьютере с 4 ядрами и 8 ГБ памяти, браузерные страницы отвечают за секунды, средняя загрузка процессора около 10%, использование памяти около 400 МБ.
Тестовый сайт 1: https://masuit.org, тестовый сайт 2: https://masuit.com, тестовый сайт 3: https://ldqk.xyz
Как только вы начнёте использовать этот открытый исходный код или будете ссылаться на этот проект или включать его код в свою компанию из-за нарушения трудового законодательства (включая, но не ограничиваясь незаконным увольнением, сверхурочной работой, наймом детского труда и т. д.) и проиграете в любом судебном процессе, автор проекта имеет право требовать плату за использование этого проекта (в размере от двух до пятикратной суммы регистрационного сбора компании). Либо напрямую запретить использование любого исходного кода, содержащего этот проект! Любая компания или организация, которая хочет использовать эту библиотеку, должна связаться с автором для получения коммерческой лицензии! Другие предприятия или частные лица могут свободно использовать её без ограничений. 996 — это эксплуатация людей, а также их уничтожение. Восемь часов работы позволяют вам иметь время для самосовершенствования, что в будущем даст вам конкурентное преимущество. Против 996, каждый несёт ответственность!
В настоящее время код передней страницы сайта довольно беспорядочный, он повсюду, все, кто хочет критиковать, могут критиковать, и те, кто заинтересован в помощи в разработке общего внешнего вида передней страницы, могут внести свой вклад в код, добро пожаловать в Pull Request! 😂
.NET8
ASP.NET Core MVC
Blazor
Entity Framework Core
Masuit.Tools
Masuit.LuceneEFCore.SearchEngine
Hangfire
Операционная система: Windows 11 23h2
IDE: Visual Studio 2022 v17.8
База данных: PostgreSQL 16.x
Redis: redis-server-windows 7.x
Время выполнения: обязательно .NET 8
Операционная система: Windows Server 2019
База данных: PostgreSQL 16.x
Redis: redis-server-windows 7.x
Время выполнения: .NET 8
Серверная конфигурация: 4 ядра + 8 ГБ + 6 Гбит/с
Пропускная способность: в среднем 600 тыс. запросов в день, пропускная способность 1 ТБ в день
Пожалуйста, не используйте Alibaba Cloud, Baidu Cloud и другие активные сверхдешёвые серверы для запуска этой программы, иначе она выйдет из строя!
Как определить, является ли сервер сверхдешёвым: дайте своему серверу оценку, если оценка близка к оценке процессора, опубликованной в Интернете, то это не сверхдешёвый сервер, формула расчёта: общая оценка / количество ядер для сравнения, поскольку это виртуальная машина, если сравнивать только одноядерную оценку, это не имеет смысла
Минимальная конфигурация | Рекомендуемая конфигурация | Роскошная конфигурация | Максимальная конфигурация | |
---|---|---|---|---|
Процессор | 1 ядро | 2 ядра | 2 ядра | 4 ядра |
Память | 1 ГБ | 2 ГБ | 4 ГБ | 8 ГБ |
Пропускная способность | 1 Мбит/с | 1 Мбит/с | 5 Мбит/с | Более 1000 Мбит/с |
База данных | PostgreSQL 9 | PostgreSQL 14 | PostgreSQL 15+ | PostgreSQL 16+ |
Компонент кэширования | Redis 3.2+ | Redis 5.0+ | Redis 5.0+ | Redis 7.0+ |
Примечание | Просто для удовольствия | Несколько человек одновременно посещают | Несколько сотен человек одновременно посещают, ежедневное количество запросов менее 600 тыс. | Ежедневное количество запросов более 600 тыс. |
Можно напрямую отслеживать состояние работы сервера в режиме реального времени через Интернет, включая процессор, пропускную способность сети, коэффициент использования диска, память и т.д., включая процентную статистику и графики, можно записывать состояние здоровья сервера за последний день, отправлять данные через WebSocket, поддерживать только Windows и устанавливать последние обновления.
... Формы и защита от злонамеренной отправки:
Проверка источника запроса с помощью ip2region и MaxMind:
В качестве примера используется система Windows, а для Linux предлагается «самостоятельное развёртывание».
Установить среду выполнения .NET 6: https://dotnet.microsoft.com/zh-cn/download.
Установить MySQL: зелёная версия MySQL 8 [https://masuit.org/1567] или PostgreSQL: зелёная версия PostgreSQL 14 [https://masuit.org/2160].
Установить Redis: зелёная версия Redis для Windows [https://masuit.org/130].
Существует два способа компиляции исходного кода:
Способ 1: компиляция исходного кода. Необходимо клонировать проекты Masuit.Tools и Masuit.LuceneEFCore.SearchEngine и разместить их в том же каталоге, что и текущий проект, чтобы обеспечить нормальную компиляцию. В противном случае можно удалить эти проекты и установить их через NuGet.
Способ 2: загрузка готовых двоичных файлов. Перейдите на страницу Release [https://github.com/ldqk/Masuit.MyBlogs/releases] и загрузите последнюю версию сжатого пакета для распаковки.
Создайте базу данных с любым именем, например, myblogs. Затем перейдите на страницу Release [https://github.com/ldqk/Masuit.MyBlogs/releases] или [https://github.com/ldqk/Masuit.MyBlogs/tree/master/database/mysql] для загрузки последнего файла базы данных и восстановите его в новой базе данных. Если у вас нет нужного типа файла восстановления, вы можете сначала восстановить его в MySQL или PostgreSQL, а затем использовать Full Convert [https://masuit.org/2163] для преобразования в нужный тип базы данных.
Необходимо настроить следующие параметры. Остальные настройки являются опциональными и не требуют настройки.
Также BaiduAK участвует в шифровании базы данных, и если у вас его нет, вы можете подать заявку на платформе Baidu Maps Open Platform. Это бесплатно.
Если вы используете CDN, необходимо настроить опцию TrueClientIPHeader на истинный IP-запрос переадресации заголовка, такой как CF-Connecting-IP для Cloudflare.
Если Redis не находится на локальном компьютере, вам нужно настроить его в разделе Redis конфигурационного файла, установив значение «Redis» в формате «127.0.0.1:6379,allowadmin=true». Если конфигурация неверна, будет использоваться значение по умолчанию «127.0.0.1:6379,allowadmin=true,abortConnect=false».
Для других настроек обратитесь к комментариям в appsettings.json.
После настройки среды и конфигурационных файлов вы можете запустить веб-сайт, используя команду dotnet Masuit.MyBlogs.Core.dll или дважды щёлкнув на Masuit.MyBlogs.Core.exe. Вы также можете использовать nssm для запуска в качестве службы Windows или попробовать развернуть на Linux.
Другие способы развёртывания:
Docker/Linux: самостоятельное развёртывание.
Платные услуги по развёртыванию:
Пожалуйста, свяжитесь с admin@masuit.com для получения дополнительной информации.
Доступ к панели управления осуществляется по адресу https://127.0.0.1:5001/dashboard.
Начальные учётные данные:
Если пароль неверен, можно сбросить его в режиме отладки, войдя в раздел «Управление пользователями» на панели администратора.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )