bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


django_react_produccio

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
django_react_produccio [2026/04/13 16:34]
enric_mieza_sanchez [Posada en producció d'un projecte Django + ReactJS]
django_react_produccio [2026/04/14 15:35] (actual)
enric_mieza_sanchez [Posada en producció d'un projecte Django + ReactJS]
Línia 1: Línia 1:
 ====== Posada en producció d'un projecte Django + ReactJS ====== ====== Posada en producció d'un projecte Django + ReactJS ======
 +
 +<WRAP info>
 +Aquest article continua de [[Django React]]. Posarem en producció el projecte creat en aquell article.
 +</WRAP>
  
 Hi ha diverses eines per a poder realitzar aquest desplegament. Les opcions més habituals son: Hi ha diverses eines per a poder realitzar aquest desplegament. Les opcions més habituals son:
Línia 17: Línia 21:
 A més d'això, per la part de servidor també caldrà servir els arxius estàtics de la part Django (al menys per l'//admin panel//) i les possibles càrregues (//uploads//) que es solen parlar com d'arxius //media//. A més d'això, per la part de servidor també caldrà servir els arxius estàtics de la part Django (al menys per l'//admin panel//) i les possibles càrregues (//uploads//) que es solen parlar com d'arxius //media//.
  
-{{ django:diagrama_django_produccio.png }}+{{ django:diagrama_django_react_produccio.png }}
  
 Per altra banda, cal fer servir un motor de BD adequat com Postgre, MySQL, MariaDB o Oracle. **SQLite no és una opció per producció**, tot i que va bé per desenvolupament i una part del testing. Per altra banda, cal fer servir un motor de BD adequat com Postgre, MySQL, MariaDB o Oracle. **SQLite no és una opció per producció**, tot i que va bé per desenvolupament i una part del testing.
Línia 38: Línia 42:
  
 Abans de començar necessitem disposar de: Abans de començar necessitem disposar de:
-  * Un **projecte Django amb React**, ja sigui en un sol repo en o en repositoris separats. Si no en tens cap, pots fer servir [[https://github.com/emieza/django-react|aquest repo de minibiblio]].+  * Un **projecte Django amb React**, ja sigui en un sol repo en o en repositoris separats. 
 +    * Segueix l'article [[Django React]] per crear una app complerta. 
 +    * Si no en tens cap, també pots fer servir [[https://github.com/emieza/django-react|aquest repo de minibiblio]].
   * Un **servidor** operatiu amb accés SSH i amb un domnini configurat que l'hi apunta elmeudomini.com . L'article es fa amb un **Debian o Ubuntu LTS**.   * Un **servidor** operatiu amb accés SSH i amb un domnini configurat que l'hi apunta elmeudomini.com . L'article es fa amb un **Debian o Ubuntu LTS**.
  
Línia 75: Línia 81:
  
 També assumim que instal·larem l'aplicació Django al //home directory// de l'usuari principal del sistema, com ''super'' o ''isard''. També seria adequat fer-ho en una carpeta de sistema (p.ex. ''/var/www/'') si es tractés d'un entorn multiusuari, situació menys freqüent actualment ja que es sol tenir un contenidor LXC o VM específic per a cada aplicació. També assumim que instal·larem l'aplicació Django al //home directory// de l'usuari principal del sistema, com ''super'' o ''isard''. També seria adequat fer-ho en una carpeta de sistema (p.ex. ''/var/www/'') si es tractés d'un entorn multiusuari, situació menys freqüent actualment ja que es sol tenir un contenidor LXC o VM específic per a cada aplicació.
 +
 +Instal·lem les dependències per a MySQL / MariaDB.
 +
 +En Debian 12:
 +  $ sudo apt install default-libmysqlclient-dev python3-dev python3-venv git
 +
 +En Ubuntu LTS:
 +  $ sudo apt install default-libmysqlclient-dev python3-dev python3-venv python3-mysqldb git pkgconf
  
 <code bash> <code bash>
-$ sudo apt install default-libmysqlclient-dev python3-dev python3-venv git 
 $ git clone https://github.com/elmeuusuari/projecte-django-react $ git clone https://github.com/elmeuusuari/projecte-django-react
 $ cd projecte-django-react $ cd projecte-django-react
Línia 92: Línia 105:
  
 <file bash .env> <file bash .env>
-SECRET_KEY=sdjfhisdfg67sdtf78ewhf8w3efheh7uf9iehfj98er+DEBUG=on 
 +SECRET_KEY=poseu-algo-random-per-aqui
 DATABASE_URL=mysql://biblio:[email protected]:3306/biblio DATABASE_URL=mysql://biblio:[email protected]:3306/biblio
 #DATABASE_URL=sqlite:///db.sqlite3 #DATABASE_URL=sqlite:///db.sqlite3
-ALLOWED_HOSTS=elmeudomini.com+ALLOWED_HOSTS=localhost,elmeudomini.com
 CORS_ALLOWED_ORIGINS=http://localhost:5173,http://127.0.0.1:5173,https://elmeudomini.com CORS_ALLOWED_ORIGINS=http://localhost:5173,http://127.0.0.1:5173,https://elmeudomini.com
 +CSRF_TRUSTED_ORIGINS=http://localhost:5173,https://elmeudomini.com
 </file> </file>
  
Línia 289: Línia 304:
 Si us dona problemes, segurament és que necessitareu donar permisos a ''/media'' perquè Apache hi pugui escriure: Si us dona problemes, segurament és que necessitareu donar permisos a ''/media'' perquè Apache hi pugui escriure:
  
 +  $ mkdir -p /home/super/django-react/media
   $ sudo chown -R www-data /home/super/django-react/media   $ sudo chown -R www-data /home/super/django-react/media
  
django_react_produccio.1776098089.txt.gz · Darrera modificació: 2026/04/13 16:34 per enric_mieza_sanchez