debieron hacer un video explicativo de esto, no sean flojos.
Introducción
Qué aprenderás sobre Django
Historia de web development
Preparación del entorno de trabajo en Mac
Preparación del entorno de trabajo en Windows y Linux
Creación del proyecto Platzigram / Tu primer Hola, mundo! en Django
Vistas
El objeto Request
Solución al reto - Pasando argumentos en la URL
Creación de la primera app
Introducción al template system
Patrones de diseño y Django
Models
La M en el MTV
El ORM de Django
Glosario
Extendiendo el modelo de usuario
Implementación del modelo de usuarios de Platzigram
Explorando el dashboard de administración
Dashboard de Administración
Creación del modelo de posts
Templates, auth y middlewares
Templates y archivos estáticos
Login
Logout
Signup
Middlewares
Forms
Formularios en Django
Mostrando el form en el template
Model forms
Validación de formularios
Class-based views
Class-based views
Protegiendo la vista de perfil, Detail View y List View
CreateView, FormView y UpdateView
Generic auth views
Deployment
Arquirectura / Conceptos / Componentes
¿Cómo conectar Django a una base de datos?
Configurar el servidor
Preparación del VPS (en AWS)
Conclusiones del curso
Bonus
¿Cómo usar los templates en Django?
Es una buena práctica al conectarnos por primera vez a nuestro servidor actualizar los paquetes del Sistema Operativo con los siguientes comandos:
...
Regístrate o inicia sesión para leer el resto del contenido.
Aportes 49
Preguntas 6
debieron hacer un video explicativo de esto, no sean flojos.
Que tremendo fiasco!! Sacan x cantidad de cursos al mes y no son capaces dedicarle unos videos extra para el deploy del proyecto de Django. Me disculpo con las personas que sí entendieron a la perfección todo este material escrito y que pudiera ofenderles mi comentario.
Para que pagamos por esto si son los mismo tutoriales que se pueden encontrar en miles de páginas, es uno de los aspectos donde mas podemos batallar y pasan de hacer un video, aveces me decepcionan Platzi
En mi opinión esta parte debió haber sido en vídeo y deberían agregar los procedimientos para windows.
Saludos.
Buen curso hasta ahora, pero falta actualizarlo hasta una versión actual de Django (a día de hoy: 3.1.7) y explicar mejor la parte de despliegue de la aplicación en vídeo. ¡Vamos Platzi sé que pueden hacer algo mucho mejor!
Para los que tengan problema al momento de crear el archivo del servicio paltzigram.conf
Yo lo solucione así, estoy ocupando una t2.nano en AWS con Ubuntu 18.4
/etc/systemd/system
[Unit]
Description=Marttgram service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=marttcode
ExecStart=/home/marttcode/deploy/gunicorn_start
[Install]
WantedBy=multi-user.target
systemctl start marttgram
systemctl status marttgram
Con eso debe bastar .-.
Invito al al equipo de Platzi que modifiquen el este post; la verdad si deja que desear de la calidad que dicen tener. E visto mejores articulos en la plataforma y mejor explicados.
Y si, deberían de colocar el link del video de deploy de Pablo Trinidad que se hizo varios años; digo, no van a hacer otro nuevo.
Saludos.
Me gustaría que en una actualización de este curso profundizaran en el porqué y para qué funciona cada parte de lo que se entregó arriba. Una de las cosas que siempre me ha gustado de Platzi es que explican todo aunque sea obvio el porqué hacen X cosa, ya que en todo internet es fácil buscar qué se debe de hacer pero nunca profundizan en las razones detrás de cada línea de código. Espero que Platzi no sea así, ya que me parece parte de su encanto.
Y donde queda la explicación de gunicorn
¿Y lo de windows?
Bacana la explicación y detallada, pero alguien tiene un docker para hacer el montaje en producción
es por esto que herramientas como docker son la mejor opción.
Este curso ha sido de luces y sombras, mas sombras diria yo.
En servicios de Computing cloud como DigitalOcean ya vienen templates (plantillas) que te dan todo un entorno preparado para solo hacer deploy de la app. Yo lo uso para Django (y funciona con otras tecnologias como Ruby On Rails, NodeJS, Laravel y más) y viene con todo configurado y también lo puedo configurar.
Para todos aquellos que están perdidos, así como yo, primero lean la clase 36 (https://platzi.com/clases/1318-django/12535-preparacion-del-vps-en-aws/), para preparar el servidor y después leen esta, creo que se confundieron y pusieron al revés las clases.
Saludos a todos
requirements/prod.txt este fichero que se corre con pip para instalar dependencias nunca lo explicaron en el curso. tengo la duda. como lo configuro o cual es el objetivo de su existencia
Que es Gunicorn?
Alguien sabe para que sirve esta línea de código? en el directorio “gunicorn_start”
export PYTHONPATH=$DJANGODIR:$PYTHONPATH
holas! Pregunta, todos mis proyectos los deployamos con UWSGI, podria reemplazarze con Unicorn? porque se recomienda ese servicio?
Este es el video de este sección:
https://platzi.com/clases/24-comunidad-platzi/4027-como-llevar-django-a-produccion/
Sería bueno que recomienden usar supervisor
Si a alguien le es util, hice el tutorial de implementación para servidores CentOS
https://platzi.com/tutoriales/1318-django/3302-instalar-un-proyecto-de-django-en-un-servidor-centos/```
SI a alguien le sirve, he hecho el tutorial de implementación en servidores CentOS
https://platzi.com/tutoriales/1318-django/3302-instalar-un-proyecto-de-django-en-un-servidor-centos/
no se puede visualizar bien el contenido del artculo… 😦
Estoy presentando el siguiente error y no logro solucionarlo. esta parte del curso debió ser por medio de vídeo y no texto.
Traceback (most recent call last):
File "./manage.py", line 21, in <module>
main()
File "./manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 224, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 36, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/lgalagarza/.venv/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 14, in <module>
from django.db.migrations.autodetector import MigrationAutodetector
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/db/migrations/autodetector.py", line 11, in <module>
from django.db.migrations.questioner import MigrationQuestioner
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/db/migrations/questioner.py", line 9, in <module>
from .loader import MigrationLoader
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/db/migrations/loader.py", line 8, in <module>
from django.db.migrations.recorder import MigrationRecorder
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 9, in <module>
class MigrationRecorder:
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 22, in MigrationRecorder
class Migration(models.Model):
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/db/models/base.py", line 87, in __new__
app_config = apps.get_containing_app_config(module)
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/apps/registry.py", line 249, in get_containing_app_config
self.check_apps_ready()
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/apps/registry.py", line 131, in check_apps_ready
settings.INSTALLED_APPS
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/conf/__init__.py", line 57, in __getattr__
self._setup(name)
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/home/lgalagarza/.venv/lib/python3.6/site-packages/django/conf/__init__.py", line 126, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
Por si estaban tan perdidos como yo les dejo este POST de como llevar Django a Producción (por razones fuera de mi control uso MS SQL SERVER, si tu también lo usas aqui esta la solución)
Notas
Suponiendo que el usuario sobre el que lo estoy instalando es el usuario Administrator.
my_project_root
----+my_project
----+settings
-----prod.py
-----wsgi.py
----+media
----+static
-----templates
-----manage.py
-----requirements.txt
my_project_root= Nombre dela carpeta raíz proyecto
my_project = nombre del proyecto
my_virtualenv = Nombre del entorno virtual
Crear las carpetas en Home
Para este ejercicio crear carpetas en home
sudo mkdir virtual sudo mkdir virtual/my_virtualenv sudo mkdir webapps sudo mkdir gunicorn sudo mkdir gunicon/run sudo mkdir gunicon/logs
| la ruta completa sería: /home/administrator/virtual
Instalar python 3 .7
sudo apt-get install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.7 python-dev python3.7-dev build-essential
INSTALAR Microsoft ODBC Driver 17 for SQL Server
Necesario para la conexion con SQL SERVER
`sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Ubuntu 16.04
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Ubuntu 18.04
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Ubuntu 19.10
curl https://packages.microsoft.com/config/ubuntu/19.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17`
INSTALAR virtualenv
Aquí crearemos los entornos virtuales.
sudo apt-get install virtualenv
Instalar unixodbc
Necesario para la conexión con un odbc
sudo apt-get install unixodbc-dev
Crear instancia virtaulenv con python 3.7
En muchas ocasiones el Sistema Operativo trae una versión de python que no queremos usar y es la que utiliza virtualenv para crear sus librerias asi que hay que definir la versión de python que nosotros queremos. Aquí le definimos a virtualenv que version de python usar
virtualenv -p /usr/bin/python3.7 /home/administrator/virtual/my_virtualenv/
Iniciar Entorno Virtual
cd /home/administrator/virtual/my_virtualenv/ source bin/activate
| Esta es la ruta donde está el entorno virtual
clonar nuestro proyecto de git
cd /home/administrator/webapps/ git clone < url de git>
ejemplo:
git clone https://github.com/miproyecto.git
Instalar requerimientos
cd /home/administrator/webapps/my_project_root pip install -r requirements.txt Instalar Gunicorn pip install gunicorn
Iniciar Gunicorn
gunicorn my_project.wsgi:application --bind localhost:8000
Crear Archivo de inicio Gunicorn
cd /home/administrator/gunicorn/ mkdir gunicorn_service sudo vim gunicorn_service
Pegar esto dentro del archivo modificando My_project_root, My_project y My_virtualenv
`#!/bin/bash
NAME=“my_project” # Name of the application
DJANGODIR=/home/administrator/webapps/my_project_root # Django project directory
SOCKFILE=localhost:8000 # we will communicte using this unix socket USER=administrator # the user to run as GROUP=administrator # the group to run as NUM_WORKERS=3 # how many worker processes should Gunicorn spawn
DJANGO_SETTINGS_MODULE=my_project.settings # which settings file should Django use
DJANGO_WSGI_MODULE=my_project.wsgi # WSGI module name
echo "Starting $NAME as whoami
"
cd $DJANGODIR
Source /home/administrator/virtual/my_virtualenv/bin/activate export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH
#RUNDIR=$(dirname $SOCKFILE)
#test -d $RUNDIR || mkdir -p $RUNDIR
exec /home/administrator/virtual/my_virtualenv/bin/gunicorn ${DJANGO_WSGI_MODULE}:application
–name $NAME
–workers $NUM_WORKERS
–user=$USER --group=$GROUP
–bind=$SOCKFILE
–log-level=debug
–log-file=-`
Dar permiso de ejecución al archivo
chmod +x gunicorn_service
Probar que el archivo de conf funcione
./gunicorn_service
Instalar Supervisor
sudo apt-get install supervisor
Crear archivo de configuración
cd /home/administrator/gunicorn/ sudo vim my_project_gunicorn_supervisor.conf
En el archivo pergar:
[program:my_project_service] command = /home/administrator/gunicorn/gunicorn_service ; Command to start app user = administrator ; User to run as stdout_logfile = /home/administrator/gunicorn/logs/gunicorn_supervisor.log ; Where to write log messages redirect_stderr = true ; Save stderr in the same log environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8
Enviar el archivo de configuración a supervisor y actualizar
sudo cp my_project_gunicorn_supervisor.conf /etc/supervisor/conf.d/
sudo service supervisor start sudo supervisorctl update sudo supervisorctl reload
Instalar NGINX
sudo apt-get install nginx sudo service nginx start
Eliminar el sitio por default
sudo rm /etc/nginx/sites-enabled/default sudo service nginx restart
Crear Archivo de configuración
cd /home/administrator/gunicorn/ sudo vim my_project_nginx
Pegar en el Documento:
`upstream my_project_server {
<h1>fail_timeout=0 means we always retry an upstream even if it failed</h1> <h1>to return a good HTTP response (in case the Unicorn master nukes a</h1> <h1>single worker for timing out).</h1>server localhost:8000 fail_timeout=0;
}
server {
listen 80;
server_name my_project.com;
client_max_body_size 4G;
access_log /home/administrator/gunicorn/logs/nginx-access.log;
error_log /home/administrator/gunicorn/logs/nginx-error.log;
location /static/ {
alias /home/administrator/webapps/my_project_root/static/;
}
location /media/ {
alias /home/administrator/webapps/my_project_root/media/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
# Try to serve static files from nginx, no point in making an
# *application* server like Unicorn/Rainbows! serve static files.
if (!-f $request_filename) {
proxy_pass http://my_project_server;
break;
}
}
}
`
Enviar el archivo de configuración a NGINX y actualizar
sudo cp my_project_nginx /etc/nginx/sites-available sudo ln -s /etc/nginx/sites-available/my_project_nginx /etc/nginx/sites-enabled/
Supervisor Restart
sudo supervisorctl reload
Nginx Restart
sudo service nginx restart
Referencias
https://www.youtube.com/watch?v=JjwbXZwOst0
Esta lección definitivamente necesita formato y edición.
Hola, alguien me podría ayudar, he seguido este articulo y el video (https://platzi.com/clases/24-comunidad-platzi/4027-como-llevar-django-a-produccion/) y todo me funciona bien, hasta que llegué donde se crea el archivo
vim platzi.conf
escribo y guardo todo, finalmente hago:
service platzi start y me aparece lo siguiente:
Failed to start platzi.service: Unit platzi.service not found.
Por lo que estuve leyendo puede ser por la versión del servidor linux que estoy usando. Me di cuenta que el profesor ocupa Ubuntu 14 en el video y yo estoy ocupando Ubuntu 16.04, cambió la sintaxis? si es así como debería ser escrito el archivo .conf?
Así es como lo tengo escrito ahora, como lo escribió Pablo
# platzi
# description "Platzi linux service"
# author "Pablo Trinidad"
start on startup
script
exec /home/platzi/deploy/gunicorn_start
end script
si alguien me ayuda sería genial, gracias a todos
Les dejo una guia de como hacer deployment a heroku que es el que estoy haciendo
https://www.youtube.com/watch?v=6DI_7Zja8Zc
Para google cloud:
https://www.youtube.com/watch?v=8Vxo0P_P8TU
Si alguno se topa con el error de la contraseña del postgres tienen que cambiar el tipo de encriptación de la contraseña de md5 a sha-256. Acá les dejo el link de como lo resolví.
Quisiera conocer mas de estos métodos de encriptación ya que es una parte importante de las ciencias de computación, añadiré un curso o libro de criptografía a mi lista de amazon.
Si les interesa alojar en aws acá les dejo un link de como hacerlo, yo por ahora estoy haciendo de heroku que es el mas sencillo:
https://www.youtube.com/watch?v=hbavPcLnq28
https://www.youtube.com/watch?v=51YwXvJ9LOE
A ver, puedo buscar por mi cuenta una máquina virtual y ver cómo setear el entorno para poder hacer todo esto, pero pues me parece un poco feo haber realizado todo el curso en Windows, y de cara al final, obviarlo completamente sin una clase o sección dedicada a los que estamos en windows. Alternativas y formas de llegar a linux en windows hay, pero que no haya habido ninguna mención, guía o link al respecto me fastidia bastante.
Yo tuve muchos problemas con el comando source para activar en .venv.
Pero el problema fue por como se creo el usuario
A mi me funciono mas:
adduser usuario
y dar permisos sudo:
usermod -aG sudo usuario
Que lastima que no pusieron un video para desplegar el proyecto a producción. La verdad que el de django avanzado el despliegue a prod tambien se queda corto
No, si estaba perdido con la continuidad del desarrollo del proyecto de ejemplo con los videos, jum ahora si mas perdido, falto el video.
Yo no pude user AWS :c pero use Heroku.
Si lo llegan a tener problemas y/o quieren hacer el deploy en heroku les dejo el turorial que me ayudo AQUÍ
La cuestion es q los que estamos en Windows nos tocaria usar una maquina virtual para poder mandar a producción por q no usar Heroku o algun otro servidor para que sea más facil la implementación???
muchas gracias
Al instalar las dependencias para Pillow, ¿No se puede hacer desde el archivo requirements.txt utilizando pip3 install -r?
que onda, podrian arreglar este deetalle aunque sea por diseño
realmente hace falta el video actualizado de Deploy por que en este tutorial quede perdido por en mi windows no encotre Las variables para pegarlas a ~/.bashrc y en tutorial de
@GOLLUM23 no me reconoce el comando mkvirtualenv miapp … gracias si alguien me aclara hacer ?
Este tipo de artículos prometen mucho pero al final sólo hacen perder el tiempo, parece que la información es buena pero no pueden ni imprimir bien los snippets de código.
Estoy teniendo problemas al separar el archivo settings.py (base, dev y prod )
Settings/
base.py
[https://www.evernote.com/shard/s550/sh/c0b5a238-8f88-4a13-bc84-d05c8f51be47/9a4b0abcc4b1631a124a4ac5b5664196]
dev.py
[https://www.evernote.com/shard/s550/sh/25621300-f1cb-419c-bd03-b9bcc4068765/f6cb354b94325f920b87ecda14fac1de]
prod.py
[https://www.evernote.com/shard/s550/sh/36b83d46-3af4-4616-a560-3754dceac82b/2c01ad655f9f53df3d14aac41d20235d]
Estoy iniciando el servidor de la siguiente manera:
python manage.py runserver --settings=mysocialbunny.settings.dev
Y al revisar mi website que se esta ejecutando me arroja el siguiente error:
[Errno 2] No such file or directory: '/static'
Como si no encontrara los archivos estaticos de mis templates. El archivo urls.py lo modifique de la siguiente manera:
[https://www.evernote.com/shard/s550/sh/3ad1b4c2-a20e-4f25-b693-1ca6fed0e9d7/2e9b52655eba2c1855eecb01ec9494e2]
Los archivos wsgi.py y manage.py no los modifique. Ya que al iniciar el servidor le estoy asignando la configuración.
wsgi.py
[https://www.evernote.com/shard/s550/sh/9a82e98d-74a7-42e7-992b-baf0876eab40/ff825ab30e6927bbb745de07ab94142a]
manage.py
[https://www.evernote.com/shard/s550/sh/6409c392-a3d5-4dc0-bae3-c53a33628d3a/e0be4192bd4703991520513324534b44]
Hola comunidad, queria preguntarle que curso puedo hacer para aprender mas sobre la configuracion de servidores y entender mejor este capitulo Gracias de antemano
Quisiera saber tambien como se implementa la aplicacion en windows , pero sera investigar.
tengo este error
Traceback (most recent call last):
File “./manage.py”, line 15, in <module>
execute_from_command_line(sys.argv)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/init.py”, line 381, in execute_from_command_line
utility.execute()
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/init.py”, line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/base.py”, line 316, in run_from_argv
self.execute(*args, **cmd_options)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/base.py”, line 353, in execute
output = self.handle(*args, **options)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/commands/check.py”, line 65, in handle
fail_level=getattr(checks, options[‘fail_level’]),
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/base.py”, line 379, in check
include_deployment_checks=include_deployment_checks,
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/management/base.py”, line 366, in _run_checks
return checks.run_checks(**kwargs)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/checks/registry.py”, line 71, in run_checks
new_errors = check(app_configs=app_configs)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/core/checks/urls.py”, line 35, in check_url_namespaces_unique
if not getattr(settings, ‘ROOT_URLCONF’, None):
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/conf/init.py”, line 57, in getattr
self._setup(name)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/conf/init.py”, line 44, in _setup
self._wrapped = Settings(settings_module)
File “/home/ubuntu/.venv/lib/python3.5/site-packages/django/conf/init.py”, line 126, in init
raise ImproperlyConfigured(“The SECRET_KEY setting must not be empty.”)
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
esta es la parte mas dificil del curso, consideren re-hacer esta clase o dividirla en dos, o hacer el video, aun tomando el curso de terminal se me esta dificultando demasiado
Un poco de ayuda.
https://devcode.la/tutoriales/multiples-settings-en-django/
tengo un problema con el archivo gunicorn_start, me podrian decir que estoy haciendo mal y como solucionarlo 😒
[email protected]:~/Instagrun/deploy# ./gunicorn_start
Starting platzigram as root
[2020-03-03 20:59:24 +0000] [2280] [DEBUG] Current configuration:
proxy_protocol: False
worker_connections: 1000
statsd_host: None
max_requests_jitter: 0
post_fork: <function post_fork at 0x7fbec02202d0>
errorlog: -
enable_stdio_inheritance: False
worker_class: sync
ssl_version: 2
suppress_ragged_eofs: True
syslog: False
syslog_facility: user
when_ready: <function when_ready at 0x7fbec0217f50>
pre_fork: <function pre_fork at 0x7fbec0220150>
cert_reqs: 0
preload_app: False
keepalive: 2
accesslog: None
group: 27
graceful_timeout: 30
do_handshake_on_connect: False
spew: False
workers: 3
proc_name: None
sendfile: None
pidfile: None
umask: 0
on_reload: <function on_reload at 0x7fbec0217dd0>
pre_exec: <function pre_exec at 0x7fbec02208d0>
worker_tmp_dir: None
limit_request_fields: 100
pythonpath: None
on_exit: <function on_exit at 0x7fbec02251d0>
config: None
logconfig: None
check_config: False
statsd_prefix:
secure_scheme_headers: {'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}
reload_engine: auto
proxy_allow_ips: ['127.0.0.1']
pre_request: <function pre_request at 0x7fbec0220a50>
post_request: <function post_request at 0x7fbec0220b50>
forwarded_allow_ips: ['127.0.0.1']
worker_int: <function worker_int at 0x7fbec02205d0>
raw_paste_global_conf: []
threads: 1
max_requests: 0
chdir: /home
daemon: False
user: 999
limit_request_line: 4094
access_log_format: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"
certfile: None
on_starting: <function on_starting at 0x7fbec0217c50>
post_worker_init: <function post_worker_init at 0x7fbec0220450>
child_exit: <function child_exit at 0x7fbec0220cd0>
worker_exit: <function worker_exit at 0x7fbec0220e50>
paste: None
default_proc_name: platzigram.wsgi
syslog_addr: udp://localhost:514
syslog_prefix: None
ciphers: TLSv1
worker_abort: <function worker_abort at 0x7fbec0220750>
loglevel: debug
bind: ['127.0.0.1:8000']
raw_env: []
initgroups: False
capture_output: False
reload: False
limit_request_field_size: 8190
nworkers_changed: <function nworkers_changed at 0x7fbec0225050>
timeout: 30
keyfile: None
ca_certs: None
tmp_upload_dir: None
backlog: 2048
logger_class: gunicorn.glogging.Logger
[2020-03-03 20:59:24 +0000] [2280] [INFO] Starting gunicorn 19.7.1
[2020-03-03 20:59:24 +0000] [2280] [DEBUG] Arbiter booted
[2020-03-03 20:59:24 +0000] [2280] [INFO] Listening at: http://127.0.0.1:8000 (2280)
[2020-03-03 20:59:24 +0000] [2280] [INFO] Using worker: sync
[2020-03-03 20:59:24 +0000] [2287] [INFO] Booting worker with pid: 2287
[2020-03-03 20:59:24 +0000] [2287] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 578, in spawn_worker
worker.init_process()
File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 126, in init_process
self.load_wsgi()
File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 135, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 377, in import_app
__import__(module)
ImportError: No module named platzigram.wsgi
[2020-03-03 20:59:24 +0000] [2287] [INFO] Worker exiting (pid: 2287)
[2020-03-03 20:59:24 +0000] [2280] [INFO] Shutting down: Master
[2020-03-03 20:59:24 +0000] [2280] [INFO] Reason: Worker failed to boot.
Creo que este tipo de cosas debio estar al princio no?
Para editar los archivos desde la terminal, prefiero usar nano, encuentro que es más amigable que vim
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.