Запуск dotnet в Ubuntu 20.04 LTS и aaPanel
Запуск Umbraco в Ubuntu
Установка приложения .NET на Linux может быть выгодна по нескольким причинам:
- Кросс-платформенная совместимость: .NET Core, кросс-платформенная версия .NET, позволяет приложениям работать на нескольких операционных системах, включая Linux. Это расширяет охват и удобство использования приложения в различных средах.
- Производительность и надёжность: Linux известен своей производительностью и стабильностью. Запуск приложения .NET на Linux может использовать эти качества, потенциально приводя к лучшей производительности и надёжности приложения.
- Открытый исходный код и поддержка сообщества: и Linux, и .NET Core имеют открытый исходный код, что означает, что они выигрывают от мощной поддержки сообщества и непрерывных улучшений. Это может привести к лучшей безопасности, большему числу функций и более быстрому исправлению ошибок.
- Экономичность: Linux может быть более экономичным вариантом для хостинга приложений, особенно для предприятий или разработчиков, стремящихся снизить операционные расходы. Многие дистрибутивы Linux доступны бесплатно, что сокращает затраты на лицензии на ПО.
- Интеграция с существующей инфраструктурой Linux: для организаций, уже использующих Linux для своих серверов или других частей ИТ-инфраструктуры, установка приложений .NET на Linux может обеспечить бесшовную интеграцию и управление в рамках их существующей экосистемы.
- Современные практики разработки: .NET Core на Linux поддерживает современные практики и инструменты разработки, включая контейнеризацию с Docker, которая нативно поддерживается в Linux. Это может облегчить более эффективные процессы разработки, тестирования и развёртывания.
- Безопасность: Linux часто хвалят за его функции безопасности. Запуск приложений .NET на Linux может выиграть от этих аспектов безопасности, предлагая более защищённую среду для приложений.
В итоге установка приложения .NET на Linux может дать преимущества в плане совместимости, производительности, стоимости, интеграции, современных практик разработки и безопасности, что делает её привлекательным вариантом для многих разработчиков и организаций.
Следуйте изложенным шагам, чтобы этого добиться:
Установите aaPanel
Необязательно, но полезно для обслуживания:
Скрипт установки завершится в течение нескольких минут и установит панель хостинга, предоставив вам ценные инструменты для обслуживания ваших сайтов.
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh
# Get Ubuntu version
declare repo_version=$(if command -v lsb_release &> /dev/null; then lsb_release -r -s; else grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"'; fi)
# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/ubuntu/$repo_version/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb
# Clean up
rm packages-microsoft-prod.deb
# Update packages
sudo apt update
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-6.0
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-7.0
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-8.0
sudo nano /etc/systemd/system/kestrel-helloapp.service
[Unit]
Description=Example .NET Web API App running on Linux
[Service]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=www
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
sudo systemctl enable kestrel-helloapp.service
sudo systemctl start kestrel-helloapp.service
sudo systemctl status kestrel-helloapp.service
И убедитесь, что вы настроили обратный прокси на порт, который вы задали для dotnet-приложения (по умолчанию 5001)
На этом этапе вы уже можете развернуть свой веб-сайт и открыть его в браузере.
Если вы собираетесь использовать MSSQL с Ubuntu, обязательно установите его, следуя этим шагам:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
systemctl status mssql-server --no-pager
sudo ufw allow 1433
ufw deny 1433
ufw deny 22
ufw deny 21
ufw deny 20