Hostwinds Tutorial

Cerca risultati per:


Sommario


Avrai bisogno:
Configurazione dell'utente Postgresql
Installazione del mezzanino
Distribuzione dell'applicazione utilizzando uWSGI
Configurazione NGINX

Installa e configura Mezzanine (Ubuntu 19.10)

Tag: Ubuntu 

Avrai bisogno:
Configurazione dell'utente Postgresql
Installazione del mezzanino
Distribuzione dell'applicazione utilizzando uWSGI
Configurazione NGINX

Il mezzanino è un sistema di gestione dei contenuti scritti in Python.È un'ottima alternativa al popolare WordPress e offre un'interfaccia simile.

Avrai bisogno:

  • Un Cloud SSD Hostwinds o un server dedicato
  • Ubuntu 19.10. Puoi ottenere l'ISO da Canonical qui: https://ubuntu.com/download/serve Quindi, usa la nostra guida per l'installazione da ISO qui: https://www.hostwinds.com/guide/reinstall-vps-cloud-server-from-an-iso/
  • Un dominio pubblico funzionante. Hostwinds offre domini qui: http://hostwinds.com/domains.php
  • Python3
  • Lo script virtualenvwrapper
  • Nginx Webserver.
  • Postgresql

Per far funzionare tutto questo, usa il comando:

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

Quindi, usa pip in install virtualenvwrapper *:

sudo pip3 install virtualenvwrapper

Normalmente, è una cattiva idea utilizzare PIP3 nel software di installazione, ma VirtualenVWrapper è uno dei pochi pacchetti che ha senso installare il sistema a livello di sistema.

Ora, installa un ambiente per il mezzanino e installarlo:

mkvirtualenv my_site
work on my_site
pip3 install mezzanine uwsgi pillow

Con tutte le dipendenze installate, dobbiamo configurare il database.

Configurazione dell'utente Postgresql

La configurazione di un utente per PostgreSQL richiede solo poche istruzioni SQL You8 può essere eseguita dalla riga di comando SQL. Per avviare il guscio SQL:

sudo su postgres -c psql

Nella shell psql, esegui queste 3 righe:

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;

Questi comandi creeranno un database e l'utente interagisce con esso.

Ora potremmo dover concedere l'accesso a quell'utente.Utilizzare questo comando per modificare il PG_HBA.CONF, questo è ciò che consente PostgreSQL per verificare l'accesso:

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

Assicurati che questa linea sia presente nel file:

Ospitare tutti i 127.0.0.1/32 MD5

Dopo aver modificato il file, riavviare il database per applicare le modifiche:

sudo systemctl restart postgresql

Installazione del mezzanino

Ora che il database è impostato, possiamo passare a configurare il mezzanino. Per avviare un progetto mezzanino, utilizzare il comando:

(mio_sito) mezzanine-project mio_sito

cd my site

Nella directory my_site, troverai un'altra directory chiamata "my_site".Avrai bisogno di modificare un file chiamato Impostazioni.py:

nano mysite/settings.py

Ci sono due cose da impostare in quel file.

Configurazione del database, utilizza lo stesso utente e le stesse password dell'utente SQL che abbiamo creato in precedenza:

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": "",
}
}

Host consentiti:

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

Una volta pronti, salva il file settings.py.

Lo script manage.py giustamente chiamato viene utilizzato per configurare e gestire il tuo server. Ora che Mezzanine ha configurato correttamente l'utente del database, possiamo aggiungere le tabelle utilizzando il comando createdb in questo modo:

python manage.py createdb

Quindi, aggiungi un utente amministratore per aiutarti a gestire il tuo sito:

python manage.py createsuperuser

Infine, costruisci le risorse, come JavaScript e CSS, usando:

python manage.py collectstatic

Distribuzione dell'applicazione utilizzando uWSGI

Per il nostro sito Web viene visualizzato, dovrai configurare un caricatore Python per eseguire il codice e un server web per comunicare con il mondo esterno.Iniziamo con il Python Loader.Per questa configurazione, useremo il corridore UWSGI.

Nella tua directory my_site / my_site, crea un file chiamato my_site.ini, utilizzando nano:

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

È possibile configurare uWSGI per l'esecuzione all'avvio creando un file di servizio in /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

Infine, esegui il comando:

sudo systemctl enable my_site

E:

sudo systemctl start my_site

Ciò configurerà il tuo corridore Python per iniziare l'avvio e avviarlo in questo momento.

Configurazione NGINX

Un'ultima attività per completare tutto questo: configura il server web. Nginx è una scelta popolare per i progetti Python a causa delle sue capacità del proxy inverso.

Per configurarlo, aggiungere questo file in / etc / nginx / sites-abilitato:

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;
        }
}

Quindi per applicare questa configurazione, eseguire il comando:

sudo systemctl restart nginx

Scritto da Hostwinds Team  /  dicembre 2, 2019