В хостинге некоторые решения могут показаться вам нестандартными.
Поэтому перед началом работы мы бы рекомендовали ознакомиться с вводной статьей.
В рамках этой статьи мы в качестве примера запустим простой сайт на C#. Начиная с .NET 5 и новее, появилась нативная поддержка Linux, поэтому такие проекты можно запускать на услуге «Хостинг».
Примеры доработок будут показаны на основе минимального API от Microsoft
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "sitename.ru",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://127.0.0.1:5001"
}
}
}
}
Загрузка файлов на хостинг Подключитесь к хостингу по SFTP или FTP (например, с помощью FileZilla) и загрузите все файлы из папки ~\bin\release\net8.0\publish\ в каталог ~/sitename.ru/app/.
Настройка переменных окружения
В личном кабинете перейдите к созданному сайту, откройте вкладку «Python AsyncIO» и в строке APP_PATH укажите полный путь до исполняемого файла. Например /home/C0000/sitename.ru/app/WebApi
.
Убедитесь, что в файле appsettings.json параметры Url в разделе Kestrel корректно используют IP-адрес и порт, указанные в переменных окружениях хостинга APP_IP и APP_PORT. Итоговый файл appsettings.json должен выглядеть так:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "sitename.ru",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://127.0.4.23:54164"
}
}
}
}
Готово! Ваш проект запущен на услуге «Хостинг».
Если А-записи в настройках DNS уже вступили в силу, то сайт будет доступен по своему доменному имени. Так же не забудьте подключить SSL-сертификат для безопасности.
Поскольку на услуге «Хостинг» MySQL работает через Unix-сокет, в строке подключения базы данных в файле appsettings.json
необходимо указать путь к этому сокету.
"ConnectionStrings": {
"DefaultConnection": "Server=/run/mysqld/mysqld.sock;Database=name;User=name;Password=passwd;ConnectionProtocol=UnixSocket;"
}