Hostwinds Tutoriels

Résultats de recherche pour:


Table des matières


Tu auras besoin de:
Configurer l'utilisateur Postgresql
Mise en place de la mezzanine
Déployer l'application à l'aide de uWSGI
Configuration NGINX

Installer et configurer la mezzanine (Ubuntu 19.10)

Mots clés: Ubuntu 

Tu auras besoin de:
Configurer l'utilisateur Postgresql
Mise en place de la mezzanine
Déployer l'application à l'aide de uWSGI
Configuration NGINX

Mezzanine est un système de gestion de contenu écrit à Python.C'est une excellente alternative au populaire WordPress et offre une interface similaire.

Tu auras besoin de:

  • Un cloud SSD Hostwinds ou un serveur dédié
  • Ubuntu 19h10. Vous pouvez obtenir l'ISO de Canonical ici: https://ubuntu.com/download/serve Ensuite, utilisez notre guide d'installation à partir d'une ISO ici: https://www.hostwinds.com/guide/reinstall-vps-cloud-server-from-an-iso/
  • Un domaine public fonctionnel. Hostwinds propose des domaines ici: http://hostwinds.com/domains.php
  • Python3
  • Le script virtualenvwrapper
  • Nginx WebServer
  • Postgresql

Pour que tout cela fonctionne, utilisez la commande:

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

Ensuite, utilisez pip dans install virtualenvwrapper *:

sudo pip3 install virtualenvwrapper

Normalement, c'est une mauvaise idée d'utiliser Pip3 dans le logiciel d'installation, mais Virtualenvwrapper est l'un des rares packages qu'il a logique d'installer à l'échelle du système.

Maintenant, configurez un environnement pour la mezzanine et installez-la:

mkvirtualenv my_site
work on my_site
pip3 install mezzanine uwsgi pillow

Avec toutes les dépendances installées, nous devons configurer la base de données.

Configurer l'utilisateur Postgresql

Configuration d'un utilisateur pour PostgreSQL ne nécessite que quelques instructions SQL You8 peuvent exécuter à partir de la ligne de commande SQL. Pour démarrer la coquille SQL:

sudo su postgres -c psql

Dans le shell psql, exécutez ces 3 lignes:

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;

Ces commandes créeront une base de données et un utilisateur interagissent avec elle.

Maintenant, nous devrons peut-être accorder l'accès à cet utilisateur.Utilisez cette commande pour éditer le pg_hba.conf, c'est ce que PostgreSQL utilise pour vérifier l'accès:

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

Assurez-vous que cette ligne est présente dans le fichier:

House All 127.0.0.1/32 MD5

Une fois que vous avez modifié le fichier, redémarrez la base de données pour appliquer les modifications:

sudo systemctl restart postgresql

Mise en place de la mezzanine

Maintenant que la base de données est installée, nous pouvons passer à la configuration de la mezzanine. Pour démarrer un projet mezzanine, utilisez la commande:

(mon_site) projet-mezzanine mon_site

cd my site

Dans le répertoire My_SITE, vous trouverez un autre répertoire appelé "My_Site".Vous devrez éditer un fichier appelé paramètres.py:

nano mysite/settings.py

Il y a deux choses à configurer dans ce fichier.

Configuration de la base de données, utilisez le même utilisateur et les mêmes mots de passe de l'utilisateur SQL que nous avons créé précédemment:

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

Hôtes autorisés:

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

Une fois que ceux-ci sont prêts, enregistrez le fichier settings.py.

Le script bien nommé manage.py est utilisé pour configurer et gérer votre serveur. Maintenant que Mezzanine a correctement configuré l'utilisateur de la base de données, nous pouvons ajouter les tables à l'aide de la commande createdb comme suit:

python manage.py createdb

Ensuite, ajoutez un utilisateur administrateur pour vous aider à gérer votre site:

python manage.py createsuperuser

Enfin, construisez les actifs, tels que JavaScript et CSS, en utilisant:

python manage.py collectstatic

Déployer l'application à l'aide de uWSGI

Pour que notre site Web se présente, vous devrez configurer un chargeur Python pour exécuter le code et un serveur Web pour communiquer avec le monde extérieur.Commençons par le chargeur Python.Pour cette configuration, nous utiliserons le coureur UWSGI.

Dans votre répertoire my_site / my_site, créez un fichier appelé my_site.ini, en utilisant nano:

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

Vous pouvez configurer uWSGI pour qu'il s'exécute au démarrage en créant un fichier de service dans /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

Enfin, exécutez la commande:

sudo systemctl enable my_site

Et:

sudo systemctl start my_site

Cela configurera votre coureur Python pour commencer le démarrage et le démarrer maintenant.

Configuration NGINX

Une dernière tâche pour arrondir tout cela: configurez le serveur Web. Nginx est un choix populaire pour les projets Python en raison de ses capacités de proxy inverse.

Pour le configurer, ajoutez ce fichier dans / etc / nginx / Sites activé:

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

Ensuite, pour appliquer cette configuration, exécutez la commande:

sudo systemctl restart nginx

Écrit par Hostwinds Team  /  décembre 2, 2019