Príprava django projektu na VPS s pripravou pre automatický deployment
Vytvorenie používateľa a príprava prostredia
Základný diagram prostredia

Vytvor nového používateľa
django_project
a nastav jeho domovský priečinok:do tohoto priecinka budeme klonovat updatovany github repozitár
sudo useradd -m -d /home/django_project django_project
sudo passwd django_project
Nainštaluj Git a vytvor SSH kľúč pre GitHub
sudo apt update
sudo apt install git -y
sudo -u django_project ssh-keygen -t rsa -b 4096 -C "github_deploy"
Pridaj verejný kľúč ~/.ssh/id_rsa.pub
ako deploy key do GitHub repozitára.
Klonovanie projektu a virtual environment
Prihlás sa ako používateľ a klonuj projekt z GitHubu:
sudo su - django_project
git clone git@github.com:peterpekny/django_project.git .
git pull origin main
Vytvor a aktivuj Python virtual environment:
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Inštalácia Gunicorn a príprava systemd služby
Nainštaluj Gunicorn do virtuálneho prostredia:
pip install gunicorn
Vytvor systemd službu pre Gunicorn:
sudo vim /etc/systemd/system/gunicorn.service
Obsah súboru:
- pripravíme načítanie konfiguracie so suboru
settings_prod.py
[Unit]
Description=Gunicorn server pre Django app
After=network.target
[Service]
User=django_project
Group=www-data
WorkingDirectory=/home/django_project/django_project/
ExecStart=/home/django_project/venv/bin/gunicorn --workers 3 --bind unix:/home/django_project/gunicorn.sock myproject.wsgi:application \
--access-logfile /var/log/gunicorn/access.log \
--error-logfile /var/log/gunicorn/error.log \
--log-level debug
Environment="DJANGO_SETTINGS_MODULE=myproject.settings_prod"
Restart=always
[Install]
WantedBy=multi-user.target
Ulož a načítaj nový systemd konfiguračný súbor:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable gunicorn.service
sudo systemctl start gunicorn.service
Týmto je aplikacia pripravená pre príjmanie HTTP requestov cez reverznú proxy NGINX. Návod ako nainštalovat a nastavit NGINX pre domenu peter.pekny.online nájdeš tu..
Komentáre ku článku
Zatiaľ žiadne komentáre.