Hostwinds Tutorial

Cerca risultati per:


Sommario


Avrai bisogno di quanto segue per iniziare:
Useremo:
Creazione di un utente
Installazione e configurazione di Django
Configurazione uWSGI
Configurazione del servizio Systemd
Configurazione NGINX
Conclusione

Come eseguire framework Web Python (Ubuntu 18.04)

Tag: Ubuntu 

Avrai bisogno di quanto segue per iniziare:
Useremo:
Creazione di un utente
Installazione e configurazione di Django
Configurazione uWSGI
Configurazione del servizio Systemd
Configurazione NGINX
Conclusione

Python è un linguaggio popolare per alcuni sviluppatori web. Ha framework come pallone e django che possono accelerare lo sviluppo del web backend. Questa guida andrà su come ottenere il framework Django e in esecuzione su un server VPS HostWinds da servire su Internet.

Avrai bisogno di quanto segue per iniziare:

  • Hostwinds Linux Cloud VPS Server
  • Accesso SSH
  • Ubuntu 18.04
  • Un nome di dominio che è puntato sul tuo server

Useremo:

  • Server Web NGINX
  • Framework Django Python
  • uWSGI funge da interfaccia tra i due.

Creazione di un utente

La maggior parte dei servizi sul tuo sistema non è necessario eseguire come root, e per motivi di sicurezza, imposteremo un utente non root per eseguire il resto dei comandi in questa guida.Puoi chiamare questo utente qualsiasi cosa.Qui, sto creando un utente chiamato "Utente":

adduser user

Dovrebbe quindi richiedere una password per questo nuovo utente, creare una password che puoi ricordare e renderla dura per gli altri da indovinare.Chiederà anche alcune informazioni aggiuntive, ma non dovrebbe influenzare nulla se lasci tutti i campi vuoti.Ora, desideriamo che questo utente eseguirà alcuni comandi root, quindi per il mio "utente", ho intenzione di aggiungerli a un gruppo chiamato "sudo".

usermod -aG sudo user

Ciò consentirà agli utenti di prefisso i loro comandi con "sudo" per eseguire comandi normalmente protetti dalla root usando la password dell'utente.

Ora, usa il comando 'exit' e accedere al server utilizzando SSH come l'utente che hai impostato.Per l'utente appena impostato, il nome utente sarà "utente" e la password sarà quella che hai impostato quando si esegue il comando AddUser.

Installazione e configurazione di Django

Per usare Django, dovrai impostare un ambiente Python.Inizia utilizzando questi comandi per aggiornare il software all'ultima versione:

sudo apt update && sudo apt upgrade

Ora, avremo bisogno di un software a livello di sistema. Per fortuna, tutto ciò di cui abbiamo bisogno è disponibile dai repository di Ubuntu e può essere installato con APT-Get.

sudo apt-get install python3-pip nginx

Con il software a livello di sistema installato, possiamo creare il nostro ambiente Django privato. Correre:

mkdir public_html
cd public_html
python3 -m venv django_serve

Questo creerà una cartella chiamata Django_serve con alcune cose in esso. Ha la sua versione di Python, e quando attiviamo il file sorgente, il software installato con PIP sarà in quella directory anziché a livello di sistema. Il prossimo passo è attivare il file Python privato e installare Django.

source django-serve/bin/activate

Ora possiamo installare Django e avviare un progetto Django usando i comandi:

pip install django
django-admin startproject my_site

Per consentire al nostro server Web di accedere a Django, dobbiamo aggiungere il dominio agli host consentiti. È possibile scrivere o modificare un file sulla riga di comando utilizzando un editor di testo della riga di comando. Molti sono disponibili su Linux, e useremo Nano in questa guida.

Usando Nano, modifica il file Impostazioni.py nella directory MySite come:

nano mysite/settings.py

Una volta nel file, trova la linea che legge: amedici_hosts = [].

Tra parentesi, aggiungi il nome di dominio del tuo sito con virgolette come così:

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

Premendo Control-X uscite nano quando ti chiede di salvare, premere 'y'.

È possibile utilizzare il comando Disattivazione per tornare indietro nella shell normale.

Con la creazione di un nuovo sito, possiamo rivolgere la nostra attenzione alla configurazione di uWSGI.

Configurazione uWSGI

UWSGI è un software di protocollo che comunica tra il codice Python e il software di Webserver. Per semplicità, avremo il nostro host usa solo un'istanza UWSGI. Consiglieremo un file di configurazione per il nostro progetto e creeremo un servizio di sistema per eseguirlo in background.

Per iniziare, dobbiamo scrivere un file per configurare uWSGI.

Ancora una volta, useremo nano per scrivere un file:

nano mysite.ini

Ecco un file INI barebone per iniziare:

#/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

Sostituisci $ utente sopra con il nome utente che stai utilizzando e my_site con il tuo nome di dominio.

Configurazione del servizio Systemd

Una volta configurato l'UWSGI, dobbiamo ottenere Linux per eseguirlo automaticamente sullo sfondo.La maggior parte delle moderne distribuzioni Linux è stata gestita con il software Systemd.Avrai bisogno di creare ciò che viene chiamato "file di servizio" per SystemD per essere in grado di gestire UWSGI.

Chiameremo il nostro file my_site.service.Per aprirlo e configurare il servizio, eseguire:

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

Sostituisci $ utente sopra con il nome utente con e my_site con il tuo nome di dominio.

Configurazione NGINX

Infine, dobbiamo configurare Nginx per ascoltare gli UWSGI e passare le richieste dal Web. Questa configurazione è in realtà abbastanza semplice da configurare. Inizia con la modifica di un nuovo file e sostituire nuovamente My_site di seguito con il tuo nome di dominio:

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

Per Nginx per leggere e utilizzare questo file, è necessario aggiungerlo alla directory abilitata da Siti. Questo comando crea un collegamento morbido ad esso.

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

Ora, ricarica NGINX:

sudo systemctl restart nginx

Ora, prova a visitare il sito sul tuo VPS. Se tutto è andato bene, dovresti vedere questo:

La pagina Web predefinita di Django.

Conclusione

Mentre ci sono molti modi per creare UWSGI e NGINX, questo è molto semplice e semplice. Speriamo che questa guida sia sufficiente per iniziare, e come sempre, puoi raggiungerci se hai ulteriori domande o dubbi.

Scritto da Hostwinds Team  /  luglio 26, 2019