Hostwinds Tutoriales

Resultados de búsqueda para:


Tabla de contenido


Necesitará:
Configuración del usuario de Postgresql
Configuración de entresuelo
Implementar la aplicación usando uWSGI
Configuración NGINX

Instalar y configurar Mezzanine (Ubuntu 19.10)

Etiquetas: Ubuntu 

Necesitará:
Configuración del usuario de Postgresql
Configuración de entresuelo
Implementar la aplicación usando uWSGI
Configuración NGINX

Mezzanine es un sistema de gestión de contenido escrito en Python.Es una excelente alternativa al popular WordPress y ofrece una interfaz similar.

Necesitará:

  • Una nube SSD de Hostwinds o un servidor dedicado
  • Ubuntu 19.10. Puedes conseguir la ISO de Canonical aquí: https://ubuntu.com/download/serve Luego, use nuestra guía para instalar desde una ISO aquí: https://www.hostwinds.com/guide/reinstall-vps-cloud-server-from-an-iso/
  • Un dominio público en funcionamiento. Hostwinds ofrece dominios aquí: http://hostwinds.com/domains.php
  • Python3
  • El guión virtualenvwrapper
  • Servidor web de nginx
  • Postgresql

Para que todo esto funcione, use el comando:

sudo apt install python3 python3-pip postgresql nginx libpq-dev

Luego, use pip en install virtualenvwrapper *:

sudo pip3 install virtualenvwrapper

Normalmente, es una mala idea usar PIP3 en el software de instalación, pero VirtualEnvischaper es uno de los pocos paquetes que tiene sentido instalar el sistema de ancho.

Ahora, configure un entorno para el entresuelo e instálelo:

mkvirtualenv my_site
work on my_site
pip3 install mezzanine uwsgi pillow

Con todas las dependencias instaladas, necesitamos configurar la base de datos.

Configuración del usuario de Postgresql

Configuración de un usuario para PostgreSQL requiere solo unas pocas declaraciones SQL, usted8 puede ejecutarse desde la línea de comandos SQL. Para iniciar la cáscara de SQL:

sudo su postgres -c psql

En el shell psql, ejecute estas 3 líneas:

CREATE USER your_site_name WITH ENCRPYPTED PASSWORD 'secure_pass';
CREATE DATABASE your_site_name;
GRANT ALL PRIVILEGES ON DATABASE your_site_name TO your_site_name;

Estos comandos crearán una base de datos y un usuario interactuará con él.

Ahora, es posible que necesitemos otorgar acceso a ese usuario.Use este comando para editar el PG_HBA.CONF, eso es lo que PostgreSQL utiliza para verificar el acceso:

sudo nano /etc/PostgreSQL/11/main/pg_hba.conf

Asegúrese de que esta línea esté presente en el archivo:

anfitrión de los 127.0.0.1/32 MD5

Una vez que haya editado el archivo, reinicie la base de datos para aplicar los cambios:

sudo systemctl restart postgresql

Configuración de entresuelo

Ahora que la base de datos está configurada, podemos seguir adelante para configurar el entresuelo. Para iniciar un proyecto de mezzanine, use el comando:

(my_site) mezzanine-project my_site

cd my site

En el directorio my_site, encontrará otro directorio llamado "My_Site".Tendrá que editar un archivo llamado Configuration.py:

nano mysite/settings.py

Hay dos cosas para configurar en ese archivo.

Configuración de la base de datos, use el mismo usuario y contraseñas del usuario SQL que creamos anteriormente:

DATABASES = {
"default": {
    # Add "postgresql", "mysql", "sqlite3" or "oracle".
    "ENGINE": "django.db.backends.postgresql",
    # DB name or path to database file if using sqlite3.
    "NAME": "my_site",
    # Not used with sqlite3.
    "USER": "my_site",
    # Not used with sqlite3.
    "PASSWORD": "secure_pass",
    # Set to empty string for localhost. Not used with sqlite3.
    "HOST": "127.0.0.1",
    # Set to empty string for default. Not used with sqlite3.
    "PORT": "",
}
}

Hosts permitidos:

ALLOWED_HOSTS = ['my_site.com', 'www.my_site.com']

Una vez que estén listos, guarde el archivo settings.py.

La secuencia de comandos manage.py con el nombre adecuado se utiliza para configurar y administrar su servidor. Ahora que Mezzanine tiene el usuario de la base de datos configurado correctamente, podemos agregar las tablas usando el comando createdb así:

python manage.py createdb

Luego, agregue un usuario administrador para ayudar a administrar su sitio:

python manage.py createsuperuser

Finalmente, construya los activos, como JavaScript y CSS, usando:

python manage.py collectstatic

Implementar la aplicación usando uWSGI

Para llegar a nuestro sitio web, deberá configurar un cargador de Python para ejecutar el código y un servidor web para comunicarse con el mundo exterior.Empecemos con el cargador de Python.Para esta configuración, usaremos el Runner UWSGI.

En su directorio my_site / my_site, cree un archivo llamado my_site.ini, usando nano:

[uwsgi]
socket = 127.0.0.1:8080
chdir = /home/$USER/my_site
wsgi-file = my_site/wsgi.py
processes = 2
threads = 1

Puede configurar uWSGI para que se ejecute en el arranque creando un archivo de servicio en /usr/lib/systmd/system/my_site.service:

[Unit]
Description=My Site
After=Network.target

[Service]
User=$USER
Group=$USER
WorkingDirectory=/home/$USER/my_site
Environment="PATH=/home/$USER/.virtualenvs/mezzanine/bin"
ExecStart=/home/$USER/.virtualenvs/mezzanine/bin/uwsgi my_site.ini

Finalmente, ejecute el comando:

sudo systemctl enable my_site

Y:

sudo systemctl start my_site

Eso configurará su corredor de Python para comenzar a iniciarlo y comenzarlo ahora mismo.

Configuración NGINX

Una última tarea para redondear todo esto: configurar el servidor web. NGINX es una opción popular para los proyectos de Python debido a sus capacidades de proxy inverso.

Para configurarlo, agregue este archivo a / etc / nginx / sites-habilitado:

upstream mezzanine {
        server 127.0.0.1:9081;
}

server {
        listen 80 default_server;
        server_name www.my_site.com my_site.com;
        charset utf-8;
        client_max_body_size 50M;


        location /media {
                alias /home/$USER/my_site/media;
        }

        location /static {
                alias /home/$USER/my_site/static;
        }

        location / {
                uwsgi_pass mezzanine;
                include uwsgi_params;
        }
}

Luego, para aplicar esta configuración, ejecute el comando:

sudo systemctl restart nginx

Escrito por Hostwinds Team  /  diciembre 2, 2019