Hostwinds Tutorials
Zoekresultaten voor:
Inhoudsopgave
Trefwoorden: Ubuntu
Mezzanine is een contentmanagementsysteem geschreven in Python.Het is een geweldig alternatief voor het populaire WordPress en biedt een vergelijkbare interface.
Om dit allemaal aan de gang te krijgen, gebruik je het commando:
sudo apt install python3 python3-pip postgresql nginx libpq-dev
Gebruik vervolgens pip in install virtualenvwrapper *:
sudo pip3 install virtualenvwrapper
Normaal gesproken is het een slecht idee om PIP3 in Install Software te gebruiken, maar VirtualenVwapper is een van de weinige pakketten die het logisch is om het systeem breed te installeren.
Stel nu een omgeving op voor de mezzanine en installeer het:
mkvirtualenv my_site
work on my_site
pip3 install mezzanine uwsgi pillow
Met alle afhankelijkheden geïnstalleerd, moeten we de database opzetten.
Een gebruiker configureren voor PostGresql vereist slechts enkele SQL-instructies die u8 kunt uitvoeren vanaf de SQL-opdrachtregel. Om de SQL-shell te starten:
sudo su postgres -c psql
Voer deze 3 regels uit in de psql-shell:
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;
Deze opdrachten creëren een database en gebruiker die ermee communiceert.
Nu moeten we mogelijk toegang geven tot die gebruiker.Gebruik deze opdracht om de PG_HBA.CONF te bewerken, dat is wat PostGresQL gebruikt om de toegang te verifiëren:
sudo nano /etc/PostgreSQL/11/main/pg_hba.conf
Zorg ervoor dat deze regel aanwezig is in het bestand:
Host alle 127.0.0.1/32 MD5
Nadat u het bestand hebt bewerkt, start u de database opnieuw op om de wijzigingen toe te passen:
sudo systemctl restart postgresql
Nu de database is ingesteld, kunnen we doorgaan met het configureren van de mezzanine. Gebruik de opdracht om een mezzanine-project te starten:
(my_site) mezzanine-project my_site
cd my site
In de map My_Site vind je een andere map 'My_site'.U moet een bestand met de naam Instellingen.py bewerken:
nano mysite/settings.py
Er zijn twee dingen die u in dat bestand moet instellen.
Databaseconfiguratie, gebruik dezelfde gebruiker en wachtwoorden van de SQL-gebruiker die we eerder hebben gemaakt:
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": "",
}
}
Toegestane hosts:
ALLOWED_HOSTS = ['my_site.com', 'www.my_site.com']
Zodra die klaar zijn, slaat u het bestand settings.py op.
Het toepasselijk genaamde manage.py-script wordt gebruikt om uw server in te stellen en te beheren. Nu Mezzanine de databasegebruiker correct heeft geconfigureerd, kunnen we de tabellen als volgt toevoegen met het commando createdb:
python manage.py createdb
Voeg vervolgens een admin-gebruiker toe om uw site te helpen beheren:
python manage.py createsuperuser
Bouw de activa ten slotte, zoals JavaScript en CSS, met behulp van:
python manage.py collectstatic
Voor onze website om naar boven te komen, moet u een Python-lader configureren om de code en een webserver uit te voeren om met de buitenwereld te communiceren.Laten we beginnen met de Python-lader.Voor deze setup gebruiken we de UWSGI-runner.
Maak in je my_site / my_site directory een bestand aan met de naam my_site.ini, met behulp van nano:
[uwsgi]
socket = 127.0.0.1:8080
chdir = /home/$USER/my_site
wsgi-file = my_site/wsgi.py
processes = 2
threads = 1
U kunt uWSGI instellen om bij het opstarten te worden uitgevoerd door een servicebestand te maken 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
Voer ten slotte de opdracht uit:
sudo systemctl enable my_site
En:
sudo systemctl start my_site
Dat configureert uw Python-hardloper om te beginnen met opstarten en het nu te starten.
Een laatste taak om dit allemaal te ronden: de webserver instellen. NGINX is een populaire keuze voor Python-projecten vanwege de omgekeerde proxy-mogelijkheden.
Om het te configureren, voegt u dit bestand toe aan / etc / nginx / sites-ingeschakeld:
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;
}
}
Voer vervolgens de volgende opdracht uit om deze configuratie toe te passen:
sudo systemctl restart nginx
Geschreven door Hostwinds Team / december 2, 2019