Запуск приложения Django на веб-хостинге или управляемом сервере Hetzner

0 Акции
0
0
0
0

Введение

В этом руководстве мы научимся запускать приложение Python Django на серверах Hetzner Webhosting или Managed Server. Django — это веб-фреймворк Python. По умолчанию фреймворк работает на WSGI (интерфейс веб-сервер-приложение), но mod_wsgi недоступен на управляемом сервере Apache. Однако существует несколько способов конвертировать WSGI в другие совместимые интерфейсы.

Предпосылки
  • Веб-хостинг с поддержкой SSH (версии 9 или выше) или управляемый сервер с включенным доступом по SSH.

Шаг 1 — Установка зависимостей

Шаг 1.1 — Установка и активация virtualenv
pip3 install --break-system-packages virtualenv mkdir /usr/home/holu/virtualenvs python3 -m virtualenv /usr/home/holu/virtualenvs/example_com . /usr/home/holu/virtualenvs/example_com/bin/activate
Шаг 1.2 – Установка Django
pip install django
Шаг 1.3 – Установка Flup (необязательно, требуется для FastCGI)
pip install flup

Шаг 2 — Создание и настройка проекта Django

Шаг 2.1 – Запуск проекта
mkdir /usr/home/holu/djangoprojects env -C "/usr/home/holu/djangoprojects" django-admin startproject example_com
Шаг 2.2 – Конфигурация проекта

Все запрошенные домены к переменной ALLOWED_HOSTS Добавьте, чтобы сделать его доступным.

vim /home/holu/djangoprojects/example_com/example_com/settings.py

Ударяя я Перейдите в “Режим импорта” и добавьте все запрошенные домены:

ALLOWED_HOSTS = ['example.com']

Ударяя esc Вернитесь в “командный режим” и :wq Нажмите Enter, чтобы сохранить и выйти.

Шаг 3 — Подготовка корневого каталога документов веб-сервера

Создайте пустой каталог веб-сайта и измените корень документа в konsoleH.

mkdir -p /usr/home/holu/public_html/example_com
Вариант 1 – FastCGI

Создать .htaccess

vim /usr/home/holu/public_html/example_com/.htaccess

Ударяя я Перейдите в “Режим импорта” и введите следующее содержимое:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ djangoapp.fcgi/$1 [QSA,L]
</IfModule>

Ударяя esc Вернитесь в “командный режим” и :wq Нажмите Enter, чтобы сохранить и выйти.

Создать скрипт .fcgi

vim /usr/home/holu/public_html/example_com/djangoapp.fcgi
#!/usr/home/holu/virtualenvs/example_com/bin/python
import sys
import os
import django
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
sys.path.append("/usr/home/holu/djangoprojects/example_com")
os.environ['DJANGO_SETTINGS_MODULE']="example_com.settings"
django.setup(set_prefix=False)
WSGIServer(WSGIHandler()).run()

Установите разрешение на выполнение для владельца:

chmod 744 /usr/home/holu/public_html/example_com/djangoapp.fcgi
Вариант 2 – CGI

Создать .htaccess

vim /usr/home/holu/public_html/example_com/.htaccess

Ударяя я Перейдите в “Режим импорта” и введите следующее содержимое:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ djangoapp.cgi/$1 [QSA,L]
</IfModule>

Ударяя esc Вернитесь в “командный режим” и :wq Нажмите Enter, чтобы сохранить и выйти.

Создание скрипта .cgi

vim /usr/home/holu/public_html/example_com/djangoapp.cgi
#!/usr/home/holu/virtualenvs/example_com/bin/python
import sys
import os
import django
import wsgiref.handlers
from django.core.handlers.wsgi import WSGIHandler
sys.path.append("/usr/home/holu/djangoprojects/example_com")
os.environ['DJANGO_SETTINGS_MODULE']="example_com.settings"
django.setup(set_prefix=False)
wsgiref.handlers.CGIHandler().run(WSGIHandler())

Установите разрешение на выполнение для владельца:

chmod 744 /usr/home/holu/public_html/example_com/djangoapp.cgi

Шаг 4 – Тестирование

Для проверки зайдите на свой домен. Вы должны увидеть что-то вроде изображения ниже:

Результат

Теперь вы можете развертывать свои приложения Django в управляемой операционной системе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Вам также может понравиться
Полное руководство по настройке Google Workspace и управлению электронной почтой.

Полное руководство по настройке Google Workspace и управлению электронной почтой.

В этой статье мы расскажем, как настроить Google Workspace для корпоративных доменов и управлять электронной почтой. Мы покажем, как добавить учетные записи электронной почты, настроить параметры DNS и дадим советы по безопасности, включая DKIM и SPF.

Основы UFW: общие правила и команды брандмауэра для безопасности Linux

Основы UFW: общие правила и команды брандмауэра для обеспечения безопасности Linux Введение UFW (Unified Firewall) — это инструмент командной строки…

Как защитить Nginx с помощью Let's Encrypt в Ubuntu 18.04

Введение Let's Encrypt — это центр сертификации (ЦС), который предоставляет возможность получения и установки бесплатных сертификатов TLS/SSL…