Hostwinds Tutorials
Zoekresultaten voor:
Inhoudsopgave
Trefwoorden: Ubuntu
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.
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.
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 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.
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.
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.
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