Що встановлено на вашому сервері ASP.NET?
- .NET 10 LTS SDK, разом із середовищем виконання ASP.NET Core, з пакетів Ubuntu 24.04
- Зразковий проєкт Razor Pages: вихідний код у /home/app/uygulama/kaynak, результат збірки в /home/app/uygulama/yayin
- Служба systemd під назвою uygulama, що працює від непривілейованого користувача app у режимі Production на 127.0.0.1:5000
- Nginx як зворотний проксі, із заголовками WebSocket і обмеженням тіла запиту 64 МБ
- Сертифікат Let's Encrypt від certbot для вашої адреси sslip.io, що поновлюється автоматично
- 1 ГБ swap, а також git
- Назовні відкриті лише порти 22, 80 і 443, а порт 5000 Kestrel залишається внутрішнім
Який розмір потрібен для ASP.NET?
Microsoft не наводить єдиного значення RAM для ASP.NET Core, бо воно залежить від вашого застосунку. Орієнтовно, 1 ГБ — це початок для запуску невеликого скомпільованого застосунку. Якщо запускатимете dotnet publish на сервері, зручніше 2 ГБ, навіть з 1 ГБ swap, який додає це встановлення. Для Entity Framework і навантаженіших проєктів розгляньте 4 ГБ. RAM і процесор збільшуються окремо у вашій панелі; сервер один раз перезапускається, а дані та IP-адреса залишаються тими самими.
| Використання | Розмір | Ціна | Обрати |
|---|---|---|---|
| Стартовий | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/міс. | |
| Середній | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/міс. | |
| Потужний | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/міс. |
Кому підійде?
- Проєктам на ASP.NET Core MVC, Razor Pages, Web API або Blazor Server
- Командам, які хочуть запускати .NET на Linux без IIS
- Конвеєрам, що збирають через dotnet publish і доставляють результат на власний сервер
- Застосункам із клієнтами в Туреччині, які мають працювати зі Стамбула
Що буде після замовлення?
- Задайте розмір і завершіть оплату.
- Ваш сервер запускається, а .NET і Nginx встановлюються самі. У наших тестах на справжніх серверах це зайняло близько 3,5 хвилини.
- На вкладці «Огляд» відкрийте посилання «Адреса сайту». З’явиться зразкова сторінка Razor.
- Підключіться через SSH, виконайте su - app, перенесіть свій проєкт і запустіть dotnet publish -c Release -o ~/uygulama/yayin.
- Від імені root у файлі /etc/systemd/system/uygulama.service замініть kaynak.dll у рядку ExecStart на власний файл.
- Виконайте systemctl daemon-reload і systemctl restart uygulama, а потім оновіть сторінку сайту.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- Старіші застосунки на .NET Framework і Web Forms на Linux не працюють. Цей сервер призначено для .NET 10 і ASP.NET Core, тож такі проєкти спершу потрібно портувати.
- Встановлено лише .NET 10. Для проєкту з цільовою платформою net8.0 підніміть цільову версію, встановіть це середовище виконання або опублікуйте проєкт як самодостатній.
- Kestrel слухає порт 5000. Якщо ви його змінюєте, разом оновіть ASPNETCORE_URLS у файлі служби та рядок proxy_pass в Nginx.
- База даних не встановлена. Вкажіть рядок підключення в налаштуваннях застосунку або у файлі служби як змінну середовища.
- Microsoft радить зберігати ключі захисту даних у постійному сховищі, щоб cookie входу залишалися чинними після перезапуску.
- Якщо сертифікат не вдається випустити, сайт відкривається по http за вашою IP-адресою. Оновлення .NET і вашого застосунку — ваша відповідальність.
ASP.NET: запитання й відповіді
Скільки RAM потрібно ASP.NET?
У Microsoft немає єдиного значення RAM для ASP.NET Core. Орієнтовно, 1 ГБ — гарний початок для невеликого скомпільованого застосунку, 2 ГБ — якщо збираєте на сервері, і 4 ГБ — для навантаженіших проєктів з Entity Framework. Якщо цього не вистачить, збільшіть сервер у своїй панелі.
Чи може ASP.NET працювати на VPS з Linux?
ASP.NET Core — може. На цьому сервері працює .NET 10 на Ubuntu 24.04, ваш застосунок запущено на Kestrel, а Nginx передає йому запити, тож IIS не потрібен. Старіші застосунки на .NET Framework — це інша справа, бо вони працюють лише у Windows.
Яка версія .NET є на сервері?
Встановлено .NET 10 SDK, а середовище виконання йде в комплекті. Якщо ви орієнтуєтеся на іншу версію, встановіть це середовище виконання або опублікуйте проєкт як самодостатній, щоб він приносив на сервер власне середовище виконання.
Як розгорнути мій застосунок ASP.NET?
Від імені користувача app виконайте dotnet publish -c Release -o ~/uygulama/yayin або скопіюйте результат публікації в цю папку зі свого комп’ютера. Змініть назву dll у uygulama.service, а потім виконайте systemctl daemon-reload і systemctl restart uygulama.
Чи запрацює мій застосунок Web Forms або MVC 5?
Ні. Web Forms і MVC 5 потребують .NET Framework, який існує лише у Windows. Для них оберіть сервер із Windows Server і введіть власну ліцензію або портуйте проєкт на ASP.NET Core.
Як підключити власний домен до сервера ASP.NET?
Спрямуйте запис A свого домену на IP-адресу сервера, а потім виконайте certbot --nginx -d yourdomain.com. Сертифікат буде випущено, і він поновлюватиметься сам.
Чи встановлено SQL Server і яку базу даних використовувати?
Базу даних не встановлено. З Entity Framework можна підключитися до SQL Server на іншій машині або встановити тут базу даних, наприклад PostgreSQL. Якщо хочете окремий сервер, ми також пропонуємо сервер із встановленим PostgreSQL.