В тази статия ще откриете инструкции за настройка на Django проект във Вашия хостинг акаунт, който използва PostgreSQL за база данни чрез платформата за уеб приложения WebApps.
Преди да инсталирате Django на Вашия акаунт, трябва да проверите и настроите следните неща:
Ако искате да настроите своя Django проект бързо, първо трябва да създадете PostgreSQL сървър. Препоръчваме Ви да използвате shell скрипта от раздел "Бърза настройка". Той ще настрои Вашия PostgreSQL сървър с нужните данни за инсталиране на Django.
След като PostgreSQL работи на Вашия акаунт, изтеглете скрипта за инсталиране на Django на Вашия акаунт и го изпълнете. Скриптът ще настрои WebApps проект за Вашия Django сайт.
Имайте предвид, че скриптът за инсталиране на Django автоматично ще настрои PostgreSQL данни за Вашето Django приложение, така че няма да се наложи да го правите ръчно. За целта, изпълнете двата скрипта последователно:
# Set up PostgreSQL
setup_postgresql.sh
# This sets up $PGHOST in the shell environment
. ~/.bashrc
# Set up Django
mv 4867.sh setup_django.sh
chmod 755 setup_django.sh
./setup_django.sh
В този случай можете директно да преминете към раздел "Пускане на Django сайт" на тази статия.
Преди да започнете инсталацията трябва да се уверите, че сте настроили и активирали PostgreSQL сървър на Вашия акаунт и променливата за средата "$PGHOST
" е настроена във Вашата конзола. Повече информация за настройката на PostgreSQL сървър можете да намерите в статията ни "Използване на PostgreSQL".
Следващата стъпка е създаването на директория за Вашия нов Django сайт:
sureapp_project="django1"
django_project_dir="/home/$USER/private/$sureapp_project"
mkdir -p "$django_project_dir/sureapp"
След това настройте база с данни:
[ -z "$PGHOST" ] && . /home/$USER/.bashrc
if [ -n "$PGHOST" ]
then
pguser="$sureapp_project"
pgpass="$(pwgen 24 1)"
pgdb="${sureapp_project}_db"
printf "CREATE ROLE %s PASSWORD '%s' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;" "$pguser" "$pgpass" | psql postgres
createdb --owner "$pguser" "$pgdb" && printf "Database %s created successfully.\n" "$pgdb"
fi
Django работи чрез Python, за който е добре да се създава изолирана среда за всяко отделно приложение. Можете да направите това чрез virtualenv
:
mkdir -p "/home/$USER/.local/bin"
grep -q '^PATH=.*/.local/bin' "/home/$USER/.bashrc" || printf '\nPATH="/home/%s/.local/bin:$PATH"\nexport PATH\n' "$USER" >> "/home/$USER/.bashrc"
PATH="/home/$USER/.local/bin:$PATH"
export PATH
pip3 install virtualenv
virtualenv --system-site-packages -p /usr/bin/python3 "$django_project_dir/venv"
. "$django_project_dir/venv/bin/activate"
По този начин всички нужни Python скриптове за приложението Ви ще се използват само за конкретния проект.
Инсталирайте всички нужни Python скриптове за Вашия Django сайт:
pip3 install psycopg2 whitenoise gunicorn Django
psycopg2
е адаптер за PostgreSQL бази данни;whitenoise
е статичен файлов сървър, който е изключително удобен за Django;gunicorn
е много сигурен и производителен WSGI сървър;Django
е пакетът, който включва Django работната среда.Следващата стъпка е да настроите Вашия Django проект:
django-admin startproject "$sureapp_project" "$django_project_dir"
django_project_settings_file="$django_project_dir/$sureapp_project/settings.py"
sed -i 's/^DEBUG = .*/DEBUG = False/' "$django_project_settings_file"
sed -i "s/^ALLOWED_HOSTS = .*/ALLOWED_HOSTS = ['*']/" "$django_project_settings_file"
cat <<POSTGRES_CONFIG >> "$django_project_settings_file"
DATABASES['default'] = {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '$pgdb',
'USER': '$pguser',
'PASSWORD': '$pgpass',
'HOST': '$PGHOST',
}
POSTGRES_CONFIG
cat <<STATICFILES_CONF >> "$django_project_settings_file"
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MIDDLEWARE.append('whitenoise.middleware.WhiteNoiseMiddleware')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICFILES_CONF
python3 "$django_project_dir/manage.py" migrate
python3 "$django_project_dir/manage.py" collectstatic
Създайте WebApps проект за Django чрез следната sureapp команда:
sureapp project create \
--engine "custom" \
--engine-version "-" \
--release-dir "$django_project_dir/sureapp" \
--start-cmd "$django_project_dir/start.sh" \
"$sureapp_project"
Тази стъпка е необходима, защото от нея ще се определи порта за Вашия Django проект.
Gunicorn е сигурен и производителен WSGI сървър. Най-лесният начин да го настроите е чрез използването на стартов скрипт:
wsgi_port="$(sureapp project list | grep "$sureapp_project" | awk '{print $5}')"
cat <<START_SH > "$django_project_dir/start.sh"
#!/bin/sh
cd "$django_project_dir"
. "$django_project_dir/venv/bin/activate"
exec gunicorn -b "127.0.0.1:$wsgi_port" -w 4 "$sureapp_project.wsgi:application"
START_SH
chmod 0700 "$django_project_dir/start.sh"
Въпреки че не е задължително, създавайки скрипт за управление на Django приложението Ви, ще улесните извършването на промени по Django приложението чрез командния ред много по-лесно. Скриптът ще взима и ще се съобразява с настройките на настроена среда за Django, така че да не се налага да правите това ръчно всеки път, когато искате да използвате manage.py
скрипта в инсталационната директория на Django.
cat <<MANAGE_SH > "$django_project_dir/manage.sh"
#!/bin/sh
. "$django_project_dir/venv/bin/activate"
exec python3 "$django_project_dir/manage.py" "\$*"
MANAGE_SH
chmod 0700 "$django_project_dir/manage.sh"
ln -s "$django_project_dir/manage.sh" "/home/$USER/.local/bin/manage-$sureapp_project"
С този скрипт за управление можете да се свържете с акаунта си чрез SSH и директно да използвате командата в директорията на Вашия Django проект. Ако Вашият Django проект се казва "django1
" (както е в дадения пример), можете да използвате следната команда, за да видите наличните опции за управление:
manage-django1 help
Този скрипт ще бъде наличен за Вашето Django приложение, ако сте използвали скрипта за бърза настройка.
Завършете настройката на WebApps проекта, за да зададете URL адреса, на който да е достъпно Django приложението. Тъй като WebApps проектът е вече създаден, използвайте бутона с иконка на молив () до проекта "django1" и изберете домейна и поддомейна чрез съответните падащи менюта в показалия се екран:
Ако искате да използвате Django приложението в отделен поддомейн, първо трябва да го създадете през раздел "Поддомейни" на хостинг Контролния панел.
Стартирайте приложението чрез бутона с иконка на червен кръг () до него.
За да създадете нов потребител с административни права за Вашия Django проект (напр. с име "django1"), използвайте следната команда чрез скрипта за управление, описан по-рано в статията:
manage-django1 createsuperuser
След успешното задаване на изисканите данни, ще можете да влезете като администратор с тях във Вашия нов Django сайт.
Можете да достъпите административния интерфейс на Django на избрания адрес (домейн/поддомейн) за WebApps проекта, добавяйки "/admin". Ако сте настроили Django да работи на "http://django.example.com", административния интерфейс ще е достъпен на "http://django.example.com/admin/".
Минималният срок за поръчка на споделен хостинг е 12 месеца. Нужно е пълно предплащане за целия период на договора. 100-дневен период на рекламация. Цената за регистрация на домейн и издаване на SSL сертификат не подлежи на възстановяване в случай на предсрочно прекратяване на договора.
© 1993-2024 ICDSoft.
Условия за ползване
|
Правна информация
|
Поверителност
|
Условия за риселъри