Как запустить сайт на Csharp(С#)

Хостинг - как запустить сайт на C

В хостинге некоторые решения могут показаться вам нестандартными.
Поэтому перед началом работы мы бы рекомендовали ознакомиться с вводной статьей.

В рамках этой статьи мы в качестве примера запустим простой сайт на C#. Начиная с .NET 5 и новее, появилась нативная поддержка Linux, поэтому такие проекты можно запускать на услуге «Хостинг».

Примеры доработок будут показаны на основе минимального API от Microsoft

  1. Настройка Kestrel Для начала потребуется добавить в файл appsettings.json блок Kestrel, чтобы иметь возможность использовать нестандартный порт и IP-адрес для запуска приложения. Итоговый файл appsettings.json должен выглядеть следующим образом:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "sitename.ru",
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://127.0.0.1:5001"
      }
    }
  }
}
  1. Публикация приложения Опубликуйте приложение. Важно указать режим публикации «Автономное приложение» и среду выполнения linux-x64

dotnet_publish_1.png

  1. Создание сайта в личном кабинете При создании сайта в панели управления хостингом в качестве конфигурации выберите «EXE».

dotnet_publish_2.png

  1. Загрузка файлов на хостинг Подключитесь к хостингу по SFTP или FTP (например, с помощью FileZilla) и загрузите все файлы из папки ~\bin\release\net8.0\publish\ в каталог ~/sitename.ru/app/.

  2. Настройка переменных окружения В личном кабинете перейдите к созданному сайту, откройте вкладку «Python AsyncIO» и в строке APP_PATH укажите полный путь до исполняемого файла. Например /home/C0000/sitename.ru/app/WebApi.

dotnet_publish_3.png

Убедитесь, что в файле 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;"
  }
Хостинг
Хостинг
Хостинг
Создавайте неограниченное количество сайтов в изолированных контейнерах
С 2003 года
Надежность.
Нам доверяют тысячи компаний и разработчиков
21 год
Предоставляем услуги профессионального хостинга
35 000+
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime наших серверов хостинга
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
ВК49865