Desplegament d'Aplicacions (Apache2)
Desplegament d'Aplicacions (Apache2)
A aquesta entrada anem a desplegar un servidor Django en el nostre VPS i com ficar-lo en producció.
Però, primerament, anem a realitzar una breu introducció sobre que és Django i el llenguatje de programació Python.
El Software que t'ajuda a escriure Django és, entre altres coses:
En els últims anys el llenguatge s'ha fet molt popular, gràcies a diverses raons com:
Una vegada feta una 'breu' explicació anem a començar el tutorial.
Si volem veure la versió que s'ha instal·lat, i si ho ha fet, podem executar la comanda: python -V
Al meu cas m'a eixit el següent: Python 2.7.13. Per tant a vosaltres vos deuria sortir un missatge similar per consola.
El segon paquet a instal·lar és pip, que és un administrador de paquets de Python utilitzant la comanda: sudo apt-get install python-pip
I, per comprovar si s'ha instal·lat i la versió anem a executar en la consola el següent: pip -V
Ens ha d'eixir un missatge similar al següent:
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Altre paquet que necessitarem serà el virtualenv amb la comanda: pip install virtualenv
Virtualenv és un entorn virtual de Python creat amb l'objectiu d'aïllar recursos com llibreries i entorn d'execució, del sistema principal o d'altres entorns virtuals. Això significa que en el mateix sistema, màquina o ordinador, és possible tenir instal·lades múltiples versions d'una mateixa llibreria sense crear cap tipus de conflicte.
Una vegada dins d'aquest directori ens baixem de git el projecte de DRF utilitzant git clone.
Quan s'haja baixar crearem el directori virtual amb la comanda virtualenv DRF, on DRF ser el nom del directori virtual.
Si fem un llistat de fitxers i directoris dins de la carpeta DRF podrem observar que s'han creat uns directoris.
Per activar el directori virtual executarem la comanda source DRF/bin/activate.
I, si ens fixem bé a l'esquerra, on fica el nom de la màquina ens apareixerà (DRF) indicant que estem treballant sobre aquest directori virtual.
Una vegada instal·lats els paquets creem les migracions per a la Base de Dades.
Finalment, a l'arxiu settings.py del nostre projecte he modificat la linía on fica ALLOWD_HOSTS i s'ha quedat així: ALLOWED_HOSTS = ['*']
I, si fiquem al navegador http://hiberdrf.tk:8000/api ens mostrarà la següent finestra.
I açó seria tot per desplegar un Servidor Django sobre el nostre VPS utilitzant Apache. El següent pas seria pujar un client i connectarlos per a que el Servidor li servisca dades a aquest.
Sobre la carpeta /var/www/hiberdrf.tk/public_html/ fem un git clone del nostre Projecte de React i, és opcional, però jo he tret tots els fitxers fora de la carpeta que ens crea i els he deixat en public_html, per facilitats.
Llavors el que hem de fer ara és un npm run build per desplegar l'aplicació.
Però abans... que és això d'npm?
Doncs NPM (node package manager) és el gestor de paquets JavaScript NODE.JS per excel·lència. Gràcies a ell, tenim qualsevol llibreria disponible a tan sols una línia de comandament.
En els ultimes anys javascript ha pres gran importància, passant de ser utilitzat només per simples validacions de formularis del costat del client, a ser el responsable de la posada en marxa de servidors amb NODE.JS i altres.
NPM utilitza l'arxiu package.json per emmagatzemar totes les dades rellevants a la nostra aplicació.
Llavors per instal·lar npm primerament debem instal·lar nodejs amb la comanda: sudo apt-get install nodejs
I, després: sudo apt-get install npm
Per comprovar les versions:
nodejs -V
npm -V
**Si no us ha funcionat amb apt-get intenteu utilitzar aptitude ja que són similars però aptitude funciona millor amb les dependències.
I, una vegada instal·lats aquets dos paquets llancem la comanda npm run build sobre la carpeta public_html, que és on tindrem la nostra aplicació React.
Si observem bé, veurem que en sha creat una carpeta anomenada buid. Aquesta serà la que ficarem de ruta al fitxer de configuració del VirtualHost.
Alsehores, el meu fitxer ha quedat de la següent forma:
I, finalment, hem de modificar l'arxiu /src/agent.js de la nostra aplicació i canviar la ruta del servidor perquè es connecte al nostre.
*Tindrem que llançar altra vegada la comanda npm run build perquè s'actualitze el fitxer js amb les dades que hem modificat.
I si fiquem al navegador hiberdrf.tk...
I aquest seria un breu tutorial sobre com llançar la nostra aplicació tan de client com de servidor.
Espere que haja servit d'ajuda aquesta entrada i si ha qualsevol dubte sempre pots commentar per si se't pot ajudar.
Però, primerament, anem a realitzar una breu introducció sobre que és Django i el llenguatje de programació Python.
Que és Django?
Django és un framework web d'alt nivell, escrit amb Python, que permet el desenvolupament ràpid de llocs web segurs i mantenibles. Desenvolupat per programadors experimentats, Django s'encarrega de gran part de les complicacions del desenvolupament web, de manera que pots concentrar-te en escriure la teva aplicació sense necessitat de reinventar la roda. És gratuït i de codi obert, té una comunitat pròspera i activa, una gran documentació i moltes opcions de suport gratuït i de pagament.El Software que t'ajuda a escriure Django és, entre altres coses:
- Ràpid: amb Django es pot construir una aplicació molt bona en poc temps.
- Ve ben carregat: Qualsevol cosa que necessiteu realitzar, ja estarà implementada, només cal adaptar-la a les vostres necessitats.
- Segur: Implementa per defecte algunes mesures de seguretat, les més clàssiques, perquè no hi hagi SQL Injection, Cross site request forgery (CSRF) o clickjacking per JavaScript.
- Escalable: Podem passar des de molt poc a una aplicació enorme perfectament, una aplicació que sigui modular, que funcioni ràpid i sigui estable.
- Versàtil: És cert que al principi Django comença sent un Framework per emmagatzemar notícies per llocs de premsa, blogs i aquest estil de webs, però amb el temps ha guanyat tanta popularitat que es pot fer servir per al propòsit que vulgueu.
Que és Python?
Python és un llenguatge orientat a objectes, preparat per a realitzar qualsevol tipus de programa, des d'aplicacions Windows a servidors de xarxa o fins i tot, pàgines web. És un llenguatge interpretat, el que significa que no es necessita compilar el codi font per poder executar-lo, el que ofereix avantatges com la rapidesa de desenvolupament i inconvenients com una menor velocitat.En els últims anys el llenguatge s'ha fet molt popular, gràcies a diverses raons com:
- La quantitat de llibreries que conté, tipus de dades i funcions incorporades en el propi llenguatge, que ajuden a realitzar moltes tasques habituals sense necessitat d'haver de programar des de zero.
- La senzillesa i velocitat amb la qual es creen els programes. Un programa en Python pot tenir de 3 a 5 línies de codi menys que el seu equivalent en Java o C.
- La quantitat de plataformes en les que podem desenvolupar, com Unix, Windows, OS / 2, Mac, Amiga i altres.
- A més, Python és gratuït, fins i tot per a propòsits empresarials.
Una vegada feta una 'breu' explicació anem a començar el tutorial.
Instal·lació (Ubuntu)
Prerequisits
Primerament anem a instal·lar Python utilitzant la comanda: sudo apt-get install python3.6Si volem veure la versió que s'ha instal·lat, i si ho ha fet, podem executar la comanda: python -V
Al meu cas m'a eixit el següent: Python 2.7.13. Per tant a vosaltres vos deuria sortir un missatge similar per consola.
El segon paquet a instal·lar és pip, que és un administrador de paquets de Python utilitzant la comanda: sudo apt-get install python-pip
I, per comprovar si s'ha instal·lat i la versió anem a executar en la consola el següent: pip -V
Ens ha d'eixir un missatge similar al següent:
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Altre paquet que necessitarem serà el virtualenv amb la comanda: pip install virtualenv
Virtualenv és un entorn virtual de Python creat amb l'objectiu d'aïllar recursos com llibreries i entorn d'execució, del sistema principal o d'altres entorns virtuals. Això significa que en el mateix sistema, màquina o ordinador, és possible tenir instal·lades múltiples versions d'una mateixa llibreria sense crear cap tipus de conflicte.
Creació directori Virtual
Una vegada instal·lat el paquet creem un directori a la ruta /var/www. Al meu cas l'he anomenat hiberdrf.tk.Una vegada dins d'aquest directori ens baixem de git el projecte de DRF utilitzant git clone.
Quan s'haja baixar crearem el directori virtual amb la comanda virtualenv DRF, on DRF ser el nom del directori virtual.
Si fem un llistat de fitxers i directoris dins de la carpeta DRF podrem observar que s'han creat uns directoris.
Per activar el directori virtual executarem la comanda source DRF/bin/activate.
I, si ens fixem bé a l'esquerra, on fica el nom de la màquina ens apareixerà (DRF) indicant que estem treballant sobre aquest directori virtual.
Desplegament Projecte DjangoRestFramework
Una vegada sota el directori virtual entrem a la carpeta on tindrem el nostre projecte i executem pip install -r requeriments.txt on ens instal·lara els paqeusts que necessitem al nostre projecte.Una vegada instal·lats els paquets creem les migracions per a la Base de Dades.
Configuració Apache
Editem l'arxiu hiberdrf.tk en /etc/apache2/sites-available i el modifiquem perquè quede de la següent forma.Finalment, a l'arxiu settings.py del nostre projecte he modificat la linía on fica ALLOWD_HOSTS i s'ha quedat així: ALLOWED_HOSTS = ['*']
I, si fiquem al navegador http://hiberdrf.tk:8000/api ens mostrarà la següent finestra.
I açó seria tot per desplegar un Servidor Django sobre el nostre VPS utilitzant Apache. El següent pas seria pujar un client i connectarlos per a que el Servidor li servisca dades a aquest.
Desplegar Aplicació React en Apache2
Per desplecar aplicacions client serà més fàcil que no el servidor. El que he fet jo ha sigut crear un VirtualHost anomenat hiberdrf.tk.Sobre la carpeta /var/www/hiberdrf.tk/public_html/ fem un git clone del nostre Projecte de React i, és opcional, però jo he tret tots els fitxers fora de la carpeta que ens crea i els he deixat en public_html, per facilitats.
Llavors el que hem de fer ara és un npm run build per desplegar l'aplicació.
Però abans... que és això d'npm?
Doncs NPM (node package manager) és el gestor de paquets JavaScript NODE.JS per excel·lència. Gràcies a ell, tenim qualsevol llibreria disponible a tan sols una línia de comandament.
En els ultimes anys javascript ha pres gran importància, passant de ser utilitzat només per simples validacions de formularis del costat del client, a ser el responsable de la posada en marxa de servidors amb NODE.JS i altres.
NPM utilitza l'arxiu package.json per emmagatzemar totes les dades rellevants a la nostra aplicació.
Llavors per instal·lar npm primerament debem instal·lar nodejs amb la comanda: sudo apt-get install nodejs
I, després: sudo apt-get install npm
Per comprovar les versions:
nodejs -V
npm -V
**Si no us ha funcionat amb apt-get intenteu utilitzar aptitude ja que són similars però aptitude funciona millor amb les dependències.
I, una vegada instal·lats aquets dos paquets llancem la comanda npm run build sobre la carpeta public_html, que és on tindrem la nostra aplicació React.
Si observem bé, veurem que en sha creat una carpeta anomenada buid. Aquesta serà la que ficarem de ruta al fitxer de configuració del VirtualHost.
Alsehores, el meu fitxer ha quedat de la següent forma:
I, finalment, hem de modificar l'arxiu /src/agent.js de la nostra aplicació i canviar la ruta del servidor perquè es connecte al nostre.
*Tindrem que llançar altra vegada la comanda npm run build perquè s'actualitze el fitxer js amb les dades que hem modificat.
I si fiquem al navegador hiberdrf.tk...
I aquest seria un breu tutorial sobre com llançar la nostra aplicació tan de client com de servidor.
Espere que haja servit d'ajuda aquesta entrada i si ha qualsevol dubte sempre pots commentar per si se't pot ajudar.
Comentarios
Publicar un comentario