Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
django_docker [2022/01/14 18:44] enrique_mieza_sanchez [Dockeritzant uWSGI + Nginx en un sol contenidor] |
django_docker [2024/02/20 14:59] (actual) enric_mieza_sanchez [Dockeritzant uWSGI + Nginx en un sol contenidor] |
||
---|---|---|---|
Línia 14: | Línia 14: | ||
\\ | \\ | ||
+ | |||
===== Dockeritzant amb el servidor de desenvolupament ===== | ===== Dockeritzant amb el servidor de desenvolupament ===== | ||
Línia 21: | Línia 22: | ||
<file Dockerfile Dockerfile> | <file Dockerfile Dockerfile> | ||
# We Use an official Python runtime as a parent image | # We Use an official Python runtime as a parent image | ||
- | FROM python:3.8-slim | + | FROM python:3.11.7-bullseye |
# install db libs | # install db libs | ||
Línia 71: | Línia 72: | ||
$ touch db.sqlite3 | $ touch db.sqlite3 | ||
$ docker-compose up -d --build | $ docker-compose up -d --build | ||
+ | |||
+ | <WRAP important> | ||
+ | **Troubleshooting** | ||
+ | |||
+ | He tingut alguns problemes amb la [[https:// | ||
+ | mysqlclient==2.1.1 | ||
+ | |||
+ | </ | ||
\\ | \\ | ||
Línia 88: | Línia 97: | ||
Fes el //migrate// i crea el superusuari tal i com hem fet abans. | Fes el //migrate// i crea el superusuari tal i com hem fet abans. | ||
+ | |||
+ | <WRAP tip> | ||
+ | Alguns tips: | ||
+ | * A l' | ||
+ | - db</ | ||
+ | * Afegiu un arxiu '' | ||
+ | db/ | ||
+ | </ | ||
+ | </ | ||
</ | </ | ||
Línia 93: | Línia 111: | ||
===== Utilitzant uWSGI + Ngnix ===== | ===== Utilitzant uWSGI + Ngnix ===== | ||
- | El " | + | El " |
- | Recordem que un dels principis bàsics de Docker és el de "un procés per contenidor" | + | {{:django: |
- | En canvi, [[https:// | + | Recordem que un dels principis bàsics de Docker és el de "un servei per contenidor" |
+ | |||
+ | En canvi, [[https:// | ||
- | {{diagrama_django_produccio.png? | ||
==== Dockeritzant uWSGI + Nginx en un sol contenidor ==== | ==== Dockeritzant uWSGI + Nginx en un sol contenidor ==== | ||
Línia 105: | Línia 124: | ||
Farem una mescla dels dos tutorials per aconseguir el nostre Django en un sol contenidor. | Farem una mescla dels dos tutorials per aconseguir el nostre Django en un sol contenidor. | ||
- | <file bash uwsgi.ini> | + | <file bash deploy/ |
+ | [supervisord] | ||
+ | # per a dockeritzar necessitem supervisord en foreground | ||
+ | nodaemon=true | ||
+ | |||
+ | [program: | ||
+ | command=/ | ||
+ | |||
+ | [program: | ||
+ | command=/ | ||
+ | </ | ||
+ | |||
+ | <file bash deploy/uwsgi.ini> | ||
[uwsgi] | [uwsgi] | ||
+ | # TODO: ull, revisa si el teu projecte es diu ' | ||
module = mysite.wsgi | module = mysite.wsgi | ||
callable = application | callable = application | ||
Línia 120: | Línia 152: | ||
</ | </ | ||
- | <file txt uwsgi_params> | + | <file txt deploy/uwsgi_params> |
uwsgi_param | uwsgi_param | ||
uwsgi_param | uwsgi_param | ||
Línia 139: | Línia 171: | ||
</ | </ | ||
- | <file bash django-site.conf> | + | <file bash deploy/django-site.conf> |
server { | server { | ||
Línia 149: | Línia 181: | ||
uwsgi_pass unix:/// | uwsgi_pass unix:/// | ||
} | } | ||
+ | | ||
+ | # TODO: aquí cal afegir alguna cosa perquè funcionin el arxius estàtics | ||
} | } | ||
</ | </ | ||
- | <file Dockerfile> | + | < |
# We Use an official Python runtime as a parent image | # We Use an official Python runtime as a parent image | ||
- | FROM python:3.8-slim | + | FROM python:3.11.7-bullseye |
# install db libs | # install db libs | ||
Línia 193: | Línia 227: | ||
</ | </ | ||
+ | <WRAP tip> | ||
+ | Perquè funcioni bé i veiem la web al port 8000 cal que **modifiqueu el '' | ||
+ | </ | ||
\\ | \\ | ||
<WRAP todo> | <WRAP todo> | ||
- | Canvia la configuració per a utilitzar el servidor d' | + | Canvia la configuració per a utilitzar el servidor d' |
+ | |||
+ | Ull que alguns arxius van a una nova carpeta ''/ | ||
Comprova que **tornem a tenir el problema dels arxius estàtics** accedint al /admin i refrescant fins que vegis que no es veuen els CSS. | Comprova que **tornem a tenir el problema dels arxius estàtics** accedint al /admin i refrescant fins que vegis que no es veuen els CSS. | ||
- | Com creus que seria la millor manera de solventar el problema dels arxius estàtics? | + | Com creus que seria la millor manera de solventar el problema dels arxius estàtics? |
</ | </ | ||