ver abajo para arreglos, etc.
Estoy tratando de conectar mi aplicación django con nginx a través de uwsgi, pero parece que el paso de datos a uwsgi no ocurre. Probé que el servidor uwsgi funciona correctamente y no obtengo ningún resultado de registro en ninguno de los extremos.
uwsgi.ini
[uwsgi] module = MyDjangoApp.wsgi:application master = True ;http-socket = :8001 #to run uwsgi on its one to ensure that it works socket = :8001 vacuum = True max-requests = 5000 plugin = python3 enable-threads = True/etc/nginx/sites-árbol de archivos disponibles
- defecto
- servidorDjango_nginx.conf
servidorDjango_nginx.conf:
# the upstream component nginx needs to connect to upstream django { #server unix:///path/to/your/mysite/mysite.sock; # for a file socket server 127.0.0.1:8001; # for a web port socket (we'll use this first) } # configuration of the server server { # the port your site will be served on listen 8000; # the domain name it will serve for server_name 127.0.0.1; # substitute your machine's IP address or FQDN charset utf-8; # max upload size client_max_body_size 75M; # adjust to taste # Django media # location /media { # location /media { # alias /path/to/your/mysite/media; # your Django project's media files $ # } # location /static { # alias /path/to/your/mysite/static; # your Django project's static files$ # } # Finally, send all non-media requests to the Django server. location / { uwsgi_pass django; include /home/pi/Server/uwsgi_params; # the uwsgi_params file you in$ }primero, el sitio no estaba habilitado... segundo, puse un enlace a él en /etc/nginx/sites-enabled/ como decía la documentación, ahora recibo este extraño error:
2020/03/29 12:14:18 [emerg] 4344#4344: open() "/etc/nginx/sites-enabled/serverDjango_nginx.conf" falló (2: No existe tal archivo o directorio) en /etc/nginx/ nginx.conf:63
Busqué en el archivo de configuración correspondiente para encontrar
include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;y ahora me pregunto por qué id no encuentra el archivo al que me he vinculado
sudo ln -s ~/etc/nginx/sites-disponible/serverDjango_nginx.conf /etc/nginx/sites-enabled/
entonces el linkagepath estaba mal debido a:
sudo ln -s ~ /etc/nginx/sites-disponible/serverDjango_nginx.conf
la tilde allí, que forzó una ruta relativa, por lo tanto invalidando el enlace
Este sitio es una gran herramienta para generar sus archivos de configuración de Nginx. En su bloque de server , debe poner la listen en 80 o 443 (si desea que sea accesible a través de los puertos http/s estándar). También debe poner su server_name para que sea su dominio, como www.google.com google.com (sí, incluya ambos) o cualquier dominio en el que desee servir su sitio de Django.
Tampoco uso el uwsgi como tú lo haces en la ubicación. Solo uso proxy_pass como proxy_pass http://localhost:8001 y luego paso una include para mi configuración de proxy.