Hostwinds Tutorials

Suchergebnisse für:


Inhaltsverzeichnis


Du wirst brauchen:
Einrichten des Postgresql-Benutzers
Mezzanine einrichten
Bereitstellen der Anwendung mit uWSGI
NGINX-Konfiguration

Mezzanine installieren und konfigurieren (Ubuntu 19.10)

Stichworte: Ubuntu 

Du wirst brauchen:
Einrichten des Postgresql-Benutzers
Mezzanine einrichten
Bereitstellen der Anwendung mit uWSGI
NGINX-Konfiguration

Mezzanine ist ein Content-Management-System, das in Python geschrieben wurde.Es ist eine großartige Alternative zu dem beliebten WordPress und bietet eine ähnliche Schnittstelle.

Du wirst brauchen:

  • Eine Hostwinds SSD Cloud oder ein dedizierter Server
  • Ubuntu 19.10. Sie können die ISO hier von kanonisch erhalten: https://ubuntu.com/download/serve Verwenden Sie dann unseren Leitfaden für die Installation von einer ISO hier: https://www.hostwinds.com/guide/reinstall-vps-cloud-server-from-an-iso/
  • Eine funktionierende Public Domain. Hostwinds bietet Domains hier an: http://hostwinds.com/domains.php
  • Python3
  • Das virtualenvwrapper-Skript
  • Nginx webserver.
  • Postgresql

Verwenden Sie den folgenden Befehl, um all dies zum Laufen zu bringen:

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

Verwenden Sie dann pip in install virtualenvwrapper *:

sudo pip3 install virtualenvwrapper

Normalerweise ist es eine schlechte Idee, PIP3 in der Installationssoftware zu verwenden, aber VirtuenVWRAPER ist eine der wenigen Pakete, die es sinnvoll ist, systemweit zu installieren.

Richten Sie nun eine Umgebung für das Zwischengeschoss ein und installieren Sie es:

mkvirtualenv my_site
work on my_site
pip3 install mezzanine uwsgi pillow

Nachdem alle Abhängigkeiten installiert sind, müssen wir die Datenbank einrichten.

Einrichten des Postgresql-Benutzers

Benutzer konfigurieren für postgreSQL Erfordert nur wenige SQL-Anweisungen, die You8 von der SQL-Befehlszeile ausführen kann. So starten Sie die SQL-Shell:

sudo su postgres -c psql

Führen Sie in der psql-Shell die folgenden 3 Zeilen aus:

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;

Diese Befehle erstellen eine Datenbank und Benutzer interagieren damit.

Jetzt müssen wir möglicherweise Zugriff auf diesen Benutzer gewähren.Verwenden Sie diesen Befehl, um das PG_HBA.CONF zu bearbeiten, das ist, was PostgreSQL verwendet, um den Zugriff zu überprüfen:

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

Stellen Sie sicher, dass diese Zeile in der Datei vorhanden ist:

Host alle 127.0.0.1/32 MD5

Sobald Sie die Datei bearbeitet haben, starten Sie die Datenbank neu, um die Änderungen anzuwenden:

sudo systemctl restart postgresql

Mezzanine einrichten

Nun, da die Datenbank eingerichtet ist, können wir das Zwischengeschoss konfigurieren. Um ein Mezzanine-Projekt zu starten, verwenden Sie den Befehl:

(my_site) Mezzanine-Projekt my_site

cd my site

Im Verzeichnis my_sites finden Sie ein anderes Verzeichnis namens "my_site".Sie müssen eine Datei namens Settings.py bearbeiten:

nano mysite/settings.py

In dieser Datei müssen zwei Dinge eingerichtet werden.

Verwenden Sie für die Datenbankkonfiguration denselben Benutzer und dieselben Kennwörter wie der zuvor erstellte SQL-Benutzer:

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

Zulässige Gastgeber:

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

Sobald diese fertig sind, speichern Sie die Datei settings.py.

Das treffend benannte Skript "manage.py" wird zum Einrichten und Verwalten Ihres Servers verwendet. Nachdem Mezzanine den Datenbankbenutzer ordnungsgemäß konfiguriert hat, können wir die Tabellen mit dem Befehl createdb wie folgt hinzufügen:

python manage.py createdb

Fügen Sie dann einen Administrator hinzu, um Ihre Website zu verwalten:

python manage.py createsuperuser

Erstellen Sie schließlich das Assets, wie JavaScript und CSS, mit:

python manage.py collectstatic

Bereitstellen der Anwendung mit uWSGI

Für unsere Website müssen Sie einen Python-Loader konfigurieren, um den Code auszuführen, und einen Webserver, um mit der Außenwelt zu kommunizieren.Beginnen wir mit dem Python Loader.Für dieses Setup verwenden wir den UWSGI-Läufer.

Erstellen Sie in Ihrem Verzeichnis my_site / my_site mit nano eine Datei mit dem Namen my_site.ini:

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

Sie können uWSGI so einrichten, dass es beim Booten ausgeführt wird, indem Sie eine Servicedatei in /usr/lib/systmd/system/my_site.service erstellen:

[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

Führen Sie abschließend den folgenden Befehl aus:

sudo systemctl enable my_site

Und:

sudo systemctl start my_site

Das konfiguriert Ihren Python-Runner, um den Start beim Start zu starten, und beginnen Sie es jetzt.

NGINX-Konfiguration

Eine letzte Aufgabe, um das alles zu runden: Richten Sie den Webserver ein. Nginx ist aufgrund seiner umgekehrten Proxy-Fähigkeiten eine beliebte Wahl für Python-Projekte.

Fügen Sie zur Konfiguration dieser Datei in / etc / ngginx / site-site hinzu:

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

Führen Sie dann den folgenden Befehl aus, um diese Konfiguration anzuwenden:

sudo systemctl restart nginx

Geschrieben von Hostwinds Team  /  Dezember 2, 2019