cerrar

Desplegar Django en Cloud Panel

Ambito:
Python

1. Instale el certificado SSL Let's Encrypt

2. Inicie sesión mediante SSH con el usuario raíz y vaya al directorio de aplicaciones uwsgi: Use Filezilla

cd /etc/uwsgi/apps-enabled/
 

3 . Cree un archivo de configuración como el Nombre de dominio proporcionado anteriormente   domain.uwsgi.ini y modifique la configuración de ejemplo a continuación según sus necesidades:

www.tutorialslides.com.uwsgi.ini

[uwsgi]
plugins       = python3
master        = true
protocol      = uwsgi
socket        = /home/tutorialslides/htdocs/www.tutorialslides.com/tutorialslides.sock

# Note: Below code wsgi-file  is very important as In your django project find wsgi.py and give path properly.
#In my project wsgi-file is inside Food folder
wsgi-file     = /home/tutorialslides/htdocs/www.tutorialslides.com/Food/wsgi.py

chdir         = /home/tutorialslides/htdocs/www.tutorialslides.com

module        = Food/wsgi.py


home = /home/tutorialslides/htdocs/www.tutorialslides.com/env/
master = true



# Needed for OAuth/OpenID
buffer-size   = 8192

# Reload when consuming too much of memory
reload-on-rss = 250

# Increase number of workers for heavily loaded sites
workers       = 4

# Enable threads for Sentry error submission
enable-threads = true

# Child processes do not need file descriptors
close-on-exec = true

# Avoid default 0000 umask
umask = 0022


# Enable harakiri mode (kill requests after some time)
# harakiri = 3600
# harakiri-verbose = true

# Enable uWSGI stats server
# stats = :1717
# stats-http = true

# Do not log some errors caused by client disconnects
ignore-sigpipe = true
ignore-write-errors = true
disable-write-exception = true
 

Nota: El siguiente código wsgi-file es muy importante ya que en su proyecto django busque wsgi.py e indique la ruta correctamente. En mi proyecto, el archivo wsgi está dentro de la carpeta Alimentos.

4. Después de cargar, asegúrese de que su extensión sea correcta.

www.tutorialslides.com. uwsgi.ini

Nota: En Windows, es posible que la extensión no se cree correctamente, así que asegúrese de verificarla después de cargar el archivo uwsgi.ini . Si falta la extensión como se indica a continuación www.tutorialslides.com. uwsgi. Cambie el nombre del archivo www.tutorialslides.com. uwsgi.ini

5. Ahora active venv e instale todos los archivos del proyecto y django también. Ruta dada a continuación

# Go to your folder first
cd /home/tutorialslides/htdocs/www.tutorialslides.com

# Create Venv
python -m venv env

# or

python3 -m venv env

# Activate Venv
source env/bin/activate

# Install django and copy all the files to the project folder

python -m pip install Django
 

6. Ahora cambie los valores predeterminados de Vhost

upstream django {
   server unix:/home/tutorialslides/htdocs/www.tutorialslides.com/tutorialslides.sock;
    #server 127.0.0.1:8090; # for a web port socket (we'll use this first)
}

server {
  listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  {{ssl_certificate_key}}
  {{ssl_certificate}}
  server_name www.tutorialslides.com;

client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/tutorialslides/htdocs/www.tutorialslides.com/images;  # your Django project's media files - amend as required
    }

    location /static {
        alias /home/tutorialslides/htdocs/www.tutorialslides.com/static; # your Django project's static files - amend as required
    }




  {{root}}
charset     utf-8;
  {{nginx_access_log}}
  {{nginx_error_log}}

  if ($scheme != "https") {
    rewrite ^ https://$host$uri permanent;
  }




  location ~ /.well-known {
    auth_basic off;
    allow all;
  }

  {{settings}}

  index index.html;

  location / {

    uwsgi_read_timeout 3600;
    #uwsgi_pass  unix:/home/tutorialslides/htdocs/www.tutorialslides.com/tutorialslides.sock;
    #uwsgi_pass 127.0.0.1:{{app_port}};

      uwsgi_pass  django;
       include uwsgi_params;





  }

  #location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|webp|zip|swf)$ {
  #  add_header Access-Control-Allow-Origin "*";
  #  expires max;
  #  access_log on;
  #}

  if (-f $request_filename) {
    break;
  }
}
 

7. Ahora reinicie ngnix y wsgi

Solicite ayuda al soporte técnico para que reinicien los servicios.

8. Ahora intenta ejecutar el código. si su sitio web está funcionando correctamente o no

#change Food/wsgi.py with your wsgi.py path
uwsgi --socket tutorialslides.sock --wsgi-file Food/wsgi.py
 

9. Si funciona correctamente, reinicie el servidor.

reboot
 

Eso es todo. Si tiene algún problema. Comuníquese conmigo para obtener asistencia paga.