Hostwinds Tutorials

Zoekresultaten voor:


Inhoudsopgave


U heeft het volgende nodig om te beginnen:
We gebruiken:
Een gebruiker aanmaken
Django installeren en instellen
uWSGI-configuratie
Systemd Service-configuratie
NGINX-configuratie
Gevolgtrekking

Python Web-frameworks uitvoeren (Ubuntu 18.04)

Trefwoorden: Ubuntu 

U heeft het volgende nodig om te beginnen:
We gebruiken:
Een gebruiker aanmaken
Django installeren en instellen
uWSGI-configuratie
Systemd Service-configuratie
NGINX-configuratie
Gevolgtrekking

Python is een populaire taal voor sommige webontwikkelaars. Het heeft kaders zoals fles en django die de ontwikkeling van Backend Web kunnen versnellen. Deze gids gaat over hoe u het Django-framework krijgt en wordt uitgevoerd op een hostwinds VPS-server die via internet wordt geserveerd.

U heeft het volgende nodig om te beginnen:

  • Hostwinds Linux Cloud VPS Server
  • SSH-toegang
  • Ubuntu 18.04
  • Een domeinnaam die op uw server wordt gewezen

We gebruiken:

  • NGINX-webserver
  • Django Python-framework
  • uWSGI fungeert als een interface tussen de twee.

Een gebruiker aanmaken

De meeste services op uw systeem hoeven niet als root te lopen, en om veiligheidsredenen zullen we een niet-root-gebruiker instellen om de rest van de opdrachten in deze handleiding uit te voeren.U kunt deze gebruiker niets noemen.Hier maak ik een gebruiker met de naam "Gebruiker":

adduser user

Het zou dan moeten vragen voor een wachtwoord voor deze nieuwe gebruiker, een wachtwoord aan te maken dat u zich kunt herinneren, en maakt het moeilijk voor anderen om te raden.Het vraagt ook om enkele aanvullende informatie, maar het mag niets beïnvloeden als u al die velden leeg laat.Nu willen we dat deze gebruiker wat rootopdrachten uitvoert, dus voor mijn "gebruiker", ga ik ze toevoegen aan een groep genaamd "sudo".

usermod -aG sudo user

Hierdoor kunnen gebruikers hun opdrachten prefemen met "SUDO" om opdrachten op te lopen die normaal worden beschermd door root met behulp van het wachtwoord van de gebruiker.

Gebruik nu de opdracht 'EXIT' en log weer in op de server met behulp van SSH Zoals de gebruiker die u hebt opgezet.Voor de gebruiker die we zojuist zijn ingesteld, is de gebruikersnaam "Gebruiker" en het wachtwoord is degene die u hebt ingesteld wanneer u de opdracht Adduser liep.

Django installeren en instellen

Om Django te gebruiken, moet je een Python-omgeving opzetten.Begin met het gebruik van deze opdrachten om uw software bij te werken naar de nieuwste versie:

sudo apt update && sudo apt upgrade

Nu hebben we enkele systeembrede software nodig. Gelukkig is alles wat we nodig hebben, verkrijgbaar bij de Ubuntu-repositories en kunnen ze worden geïnstalleerd met Apt-Get.

sudo apt-get install python3-pip nginx

Met de systeembrede software geïnstalleerd, kunnen we onze privé Django-omgeving bouwen. Rennen:

mkdir public_html
cd public_html
python3 -m venv django_serve

Dit maakt een map met de naam Django_Serve met een paar dingen erin. Het heeft zijn eigen versie van Python, en wanneer we het bronbestand activeren, gaat de software die met PIP is geïnstalleerd in die map in plaats van systeem breed. De volgende stap is om het privé Python-bestand te activeren en Django te installeren.

source django-serve/bin/activate

Nu kunnen we Django installeren en een Django-project starten met behulp van de opdrachten:

pip install django
django-admin startproject my_site

Om onze webserver toegang te krijgen tot Django, moeten we het domein toevoegen aan de toegestane hosts. U kunt een bestand op de opdrachtregel schrijven of bewerken met behulp van een opdrachtregel-teksteditor. Velen zijn beschikbaar op Linux en we zullen Nano in deze gids gebruiken.

Nano gebruiken, bewerk de bestandsinstellingen.py in de map MySite zoals SO:

nano mysite/settings.py

Zoek eenmaal in het bestand de regel die luidt: Toegestaan_Hosts = [].

Voeg in de haakjes de domeinnaam van uw site toe met aanhalingstekens zoals SO:

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

Drukken op bediening-x verlaat NANO wanneer het u vraagt om op te slaan, druk op 'Y'.

U kunt de opdracht deactiveren om terug te gaan in de reguliere schaal.

Met een nieuwe site kunnen we onze aandacht richten op het opzetten van uWSGI.

uWSGI-configuratie

UWSGI is een protocolsoftware die communiceert tussen de Python-code en de webserver-software. Voor de eenvoud zullen we onze gastheer alleen één UWSGI-instantie gebruiken. We zullen een configuratiebestand opzetten voor ons project en een SYSTEMD-service creëren om het op de achtergrond uit te voeren.

Om te beginnen, moeten we een bestand schrijven om uWSGI te configureren.

Nogmaals, we zullen nano gebruiken om een bestand te schrijven:

nano mysite.ini

Hier is een INI-bestand met barebones om ons op weg te helpen:

#/home/user/public_html/mysite.ini
[uwsgi]
socket = 127.0.0.1:10080
chdir = /home/$USER/public_html/my_site
module = my_site.wsgi:application
processes = 4
threads = 2

Vervang $ user hierboven met de gebruikersnaam die u gebruikt en my_site met uw domeinnaam.

Systemd Service-configuratie

Zodra de UWSGI is ingesteld, moeten we Linux het automatisch op de achtergrond laten lopen.De meeste moderne Linux-distributies beheerd dit met de SystemD-software.U moet maken wat een "servicebestand" wordt genoemd voor SYSTEMD om UWSGI te kunnen beheren.

We noemen ons bestand My_Site.Service.Om het te openen en de service in te stellen, voert u uit:

sudo nano /etc/system/systemd/my_site.service
#/etc/system/systemd/my_site.service
#Tells Systemd about your site
[Unit]
Description=Guide test site.
After=network.target

#Where systemd should start it from.
[Service]
User=$USER
Group=www-data
WorkingDirectory=/home/user/public_html/my_site
Environment="PATH=/home/user/django_serve/bin"
ExecStart=/home/user/public_html/django_serve/bin/uwsgi my_site.ini

#For starting the service at boot.
[Install]
WantedBy=multi-user.target

Vervang $ user hierboven met de gebruikersnaam waarmee u werkt en My_Site met uw domeinnaam.

NGINX-configuratie

Ten slotte moeten we NGINX instellen om naar UWSGI te luisteren en aanvragen van het web door te geven. Deze configuratie is eigenlijk vrij eenvoudig om in te stellen. Begin met het bewerken van een nieuw bestand en vervang opnieuw My_Site hieronder met uw domeinnaam:

sudo nano /etc/nginx/sites-available/my_site.conf
# /etc/nginx/sites-available

# tell it where to look for django
upstream django_serve {
    server 127.0.0.1:10800;
}

server {
    listen 80; #can be 443 if you have SSL set up.
    root /home/user/public_html/my_site/;
    server_name www.my_site.com;

    location / {
        uwsgi_pass django_serve;
        include uswgi_params;
    }
}

Voor NGINX om dit bestand te lezen en te gebruiken, moeten we het toevoegen aan de sites-enabled directory. Dit commando maakt er een zachte verbinding mee.

sudo  ln -s /etc/nginx/sites-available/my_site.conf /etc/nginx/site-enabled

Laad nu NGINX opnieuw:

sudo systemctl restart nginx

Probeer nu de site op uw VPS te bezoeken. Als het allemaal goed ging, zou je dit moeten zien:

De standaardwebpagina van Django.

Gevolgtrekking

Hoewel er veel manieren zijn om Uwsgi en NGINX op te zetten, is deze heel eenvoudig en eenvoudig. Hopelijk is deze gids voldoende om u op weg te helpen, en zoals altijd kunt u ons bereiken als u nog vragen of opmerkingen heeft.

Geschreven door Hostwinds Team  /  juli- 26, 2019