Що встановлено на вашому сервері Python?
- Python 3.12 з репозиторію Ubuntu 24.04
- Віртуальне середовище в /home/app/uygulama/venv
- Gunicorn 26 із 2 воркерами на 127.0.0.1:8000
- Служба systemd з іменем uygulama, яка стартує під час завантаження й перезапускається після збою
- HTTPS через Caddy на адресі sslip.io, створеній на основі вашої IP-адреси, тож домен необов’язковий
- Непривілейований користувач app, щоб ваш код не працював від root
- Брандмауер із відкритими лише портами 22, 80 і 443
Який розмір потрібен для Python?
У документації Python немає цифри щодо RAM, бо потребу визначає ваш застосунок. Gunicorn завантажує застосунок в окремому процесі для кожного воркера, тому пам’ять росте разом із кількістю воркерів. Gunicorn радить починати з (2 x ядра) + 1 воркерів, а це встановлення запускає 2. Орієнтовно: 1 ГБ — хороший початок для невеликого API, а 2–4 ГБ — для кількох воркерів чи важких пакетів. Якщо цього замало, збільште RAM, CPU і диск окремо у своїй панелі; дані та 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/міс. |
Кому підійде?
- Розробники, які публікують API чи вебзастосунок на Flask або FastAPI
- Проєкти, що впираються у версію Python чи обмеження пакетів на спільному хостингу
- Ті, хто запускає на власному сервері Python-застосунок, створений за допомогою ШІ-інструментів
- Ті, хто виконує обробку даних, автоматизацію чи скрипти за розкладом
Що буде після замовлення?
- Задайте розмір і завершіть оплату.
- Ваш сервер запускається, і Python та Gunicorn встановлюються самі. У наших тестах на реальних серверах це зайняло близько 3 хвилин.
- Відкрийте «Адреса сайту» на вкладці «Огляд». Приклад сторінки показує версію Python.
- Підключіться через SSH, введіть su - app, перейдіть у теку командою cd ~/uygulama і перенесіть свій код, наприклад через git clone.
- Установіть залежності: venv/bin/pip install -r requirements.txt
- Зробіть так, щоб wsgi.py віддавав об’єкт вашого застосунку як app, поверніться до root командою exit і виконайте systemctl restart uygulama.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- Gunicorn запускає wsgi:app. Для іншого модуля змініть рядок ExecStart у /etc/systemd/system/uygulama.service і виконайте systemctl daemon-reload.
- Збільшення розміру саме по собі не додає воркерів. Значення --workers ви змінюєте в тому самому файлі служби.
- Щоб компілювати розширення на C, виконайте від root apt install build-essential python3-dev.
- Оновлення безпеки Ubuntu і Python встановлюються самі. Пакети pip у своєму віртуальному середовищі оновлюєте ви.
- Ваш застосунок має слухати 127.0.0.1:8000, а публічну адресу обслуговує Caddy. Якщо відкрити Gunicorn назовні, HTTPS буде оминуто.
- Якщо сертифікат не вдається видати, сайт відкривається через http за вашою IP-адресою.
Python: запитання й відповіді
Як розгорнути застосунок Flask?
Покладіть код у ~/uygulama і встановіть залежності через venv/bin/pip. Зробіть так, щоб wsgi.py віддавав ваш застосунок як app, а потім виконайте від root systemctl restart uygulama. Або замініть wsgi:app у рядку ExecStart на project:app чи, для фабрики застосунків, на project:create_app() і виконайте systemctl daemon-reload.
Чи працює FastAPI на цьому сервері?
Так. FastAPI використовує ASGI, і його обслуговує вбудований ASGI-воркер Gunicorn. У рядку ExecStart замініть wsgi:app на --worker-class asgi main:app, потім виконайте systemctl daemon-reload і systemctl restart uygulama. Адресу прив’язки залиште 127.0.0.1:8000.
Скільки RAM потрібно для хостингу Python?
В Python немає офіційної цифри щодо RAM, бо все визначають ваш застосунок і кількість воркерів. Орієнтовно: 1 ГБ — хороший початок для невеликого API, а 2–4 ГБ — для кількох воркерів чи пакетів для аналізу даних.
Чи можна змінити версію Python?
Сервер постачається з Python 3.12 з Ubuntu 24.04. У вас є root-доступ, тож можна встановити й іншу версію. Створіть віртуальне середовище заново з цією версією, а потім перевстановіть свої пакети й Gunicorn.
Чи зупиниться мій застосунок, якщо вийти з SSH?
Ні. Ваш код Python працює як служба systemd з іменем uygulama. Він продовжує працювати після виходу, а після збою чи перезапуску сервера повертається. Його вивід можна переглянути через journalctl -u uygulama.
Чи підходить цей сервер для Django?
Так. Gunicorn запускає й Django, тож у рядку ExecStart вкажіть project.wsgi:application. Якщо хочете, щоб Django і його налаштування встановили за вас, зверніть увагу на варіант сервера Django.