Need help? Chat now!

Hostwinds Tutoriels

Résultats de recherche pour:


Table des matières


Vous aurez besoin des éléments suivants pour commencer:
Nous utiliserons:
Créer un utilisateur
Installer et configurer Django
Configuration uWSGI
Configuration du service Systemd
Configuration NGINX
Conclusion

Comment exécuter des frameworks Web Python (Ubuntu 18.04)

Mots clés: Ubuntu 

Vous aurez besoin des éléments suivants pour commencer:
Nous utiliserons:
Créer un utilisateur
Installer et configurer Django
Configuration uWSGI
Configuration du service Systemd
Configuration NGINX
Conclusion

Python est une langue populaire pour certains développeurs Web. Il a des cadres tels que le flacon et Django pouvant accélérer le développement Web du Backend. Ce guide passe sur la manière d'obtenir le cadre Django et d'exécuter sur un serveur VPS Hostwinds à servir sur Internet.

Vous aurez besoin des éléments suivants pour commencer:

  • Serveur VPS Cloud Linux Hostwinds
  • Accès SSH
  • Ubuntu 18.04
  • Un nom de domaine qui est pointé sur votre serveur

Nous utiliserons:

  • Serveur Web NGINX
  • Framework Django Python
  • uWSGI agissant comme une interface entre les deux.

Créer un utilisateur

La plupart des services de votre système n'ont pas besoin d'exécuter en tant que root et pour des raisons de sécurité, nous configurerons un utilisateur non root pour exécuter le reste des commandes de ce guide.Vous pouvez appeler cet utilisateur n'importe quoi.Ici, je crée un utilisateur appelé "utilisateur":

adduser user

Il devrait alors vous inviter un mot de passe pour ce nouvel utilisateur, créer un mot de passe que vous pouvez vous souvenir et rendre difficile pour que les autres devinent.Cela demandera également des informations supplémentaires, mais cela ne devrait affecter que si vous laissez tous ces champs en blanc.Maintenant, nous souhaitons que cet utilisateur exécute des commandes racine, donc pour mon "utilisateur", je vais les ajouter à un groupe appelé "sudo".

usermod -aG sudo user

Cela permettra aux utilisateurs de préfixer leurs commandes avec "sudo" pour exécuter des commandes normalement protégées par root à l'aide du mot de passe de l'utilisateur.

Maintenant, utilisez la commande 'Quitter' et reconnectez-vous dans le serveur. en utilisant SSH comme l'utilisateur que vous avez configuré.Pour l'utilisateur, nous venons de configurer, le nom d'utilisateur sera "utilisateur" et le mot de passe sera celui que vous avez défini lorsque vous avez exécuté la commande AddUtiliser.

Installer et configurer Django

Pour utiliser Django, vous devrez créer un environnement python.Commencez par utiliser ces commandes pour mettre à jour votre logiciel dans la dernière version:

sudo apt update && sudo apt upgrade

Nous aurons maintenant besoin d'un logiciel à l'échelle du système. Heureusement, tout ce dont nous avons besoin est disponible dans les référentiels Ubuntu et peut être installé avec apt-get.

sudo apt-get install python3-pip nginx

Avec le logiciel à l'échelle du système installé, nous pouvons créer notre environnement Django privé. Courir:

mkdir public_html
cd public_html
python3 -m venv django_serve

Cela créera un dossier appelé django_serve avec quelques points dedans. Il a sa propre version de Python et lorsque nous activons le fichier source, le logiciel installé avec PIP ira dans ce répertoire au lieu de l'ensemble du système. L'étape suivante consiste à activer le fichier Python privé et à installer Django.

source django-serve/bin/activate

Maintenant, nous pouvons installer Django et démarrer un projet Django en utilisant les commandes:

pip install django
django-admin startproject my_site

Pour permettre à notre serveur Web d'accéder à Django, nous devons ajouter le domaine aux hôtes autorisés. Vous pouvez écrire ou modifier un fichier sur la ligne de commande à l'aide d'un éditeur de texte de ligne de commande. Beaucoup sont disponibles sur Linux et nous utiliserons Nano dans ce guide.

Utilisation de nano, modifiez les paramètres de fichier.py dans le répertoire mysite comme:

nano mysite/settings.py

Une fois dans le fichier, trouvez la ligne qui se lit comme suit: autorisée_hosts = [].

Dans les crochets, ajoutez le nom de domaine de votre site avec des guillemets comme:

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

Appuyez sur Control-X sort nano lorsqu'il vous demande de sauvegarder, appuyez sur "Y".

Vous pouvez utiliser la commande désactivée pour revenir dans la coque régulière.

Avec la création d'un nouveau site, nous pouvons tourner notre attention vers la mise en place d'uWSGI.

Configuration uWSGI

UWSGI est un logiciel de protocole qui communique entre le code Python et le logiciel WebServer. Pour la simplicité, nous allons utiliser notre hôte une seule instance UWSGI. Nous allons configurer un fichier de configuration pour notre projet et créerons un service SystemD pour l'exécuter à l'arrière-plan.

Pour commencer, nous devons écrire un fichier pour configurer uWSGI.

Une fois de plus, nous utiliserons nano pour écrire un fichier:

nano mysite.ini

Voici un fichier INI barebones pour nous aider à démarrer:

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

Remplacez $ utilisateur ci-dessus avec le nom d'utilisateur que vous utilisez et my_Site avec votre nom de domaine.

Configuration du service Systemd

Une fois que l'UWSGI est configurée, nous devons obtenir Linux de l'exécuter automatiquement en arrière-plan.La plupart des distributions Linux modernes ont géré cela avec le logiciel SystemD.Vous devrez créer ce qu'on appelle un «fichier de service» pour SystemD pour pouvoir gérer UWSGI.

Nous appellerons notre fichier my_site.service.Pour l'ouvrir et mettre en place le service, exécutez:

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

Remplacez $ utilisateur ci-dessus avec le nom d'utilisateur avec lequel vous travaillez et my_Site avec votre nom de domaine.

Configuration NGINX

Enfin, nous devons configurer NGinx pour écouter UWSGI et passer des demandes à partir du Web. Cette configuration est en fait assez simple à configurer. Commencez par édition d'un nouveau fichier et remplacez à nouveau My_Site ci-dessous avec votre nom de domaine:

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

Pour NGinx pour lire et utiliser ce fichier, nous devons l'ajouter au répertoire compatible des sites. Cette commande crée un lien doux.

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

Maintenant, rechargez NGINX:

sudo systemctl restart nginx

Maintenant, essayez de visiter le site sur votre VPS. Si tout s'est bien passé, vous devriez voir ceci:

Page Web par défaut de Django.

Conclusion

Bien qu'il existe de nombreuses façons de mettre en place UWSGI et NGinx, celui-ci est très simple et simple. Espérons que ce guide suffit pour vous aider à démarrer et, comme toujours, vous pouvez nous contacter si vous avez des questions ou des préoccupations supplémentaires.

Écrit par Hostwinds Team  /  juillet 26, 2019