[PYTHON] Erstellen Sie mit Vagrant (Ubuntu 16.04) eine Umgebung für Django x Apache x mod_wsgi.

Wenn Sie Python auf einem WEB-Server wie Apache oder Nginx ausführen möchten, müssen Sie dazwischen einen Mechanismus namens WSGI einfügen. Der Mechanismus von WSGI scheint einfach zu sein, aber ich habe ihn noch nicht im Detail untersucht. Es ist ein bisschen nerviger als PHP, weil es dazwischen WSGI hat. Aber wenn Sie sich einmal daran erinnern, gibt es fast keinen Unterschied in der Vorbereitung. In diesem Beitrag werde ich versuchen, eine Webanwendung unter Ubuntu 16.04 auf Vagrant mit Django und Apache auszuführen. Dieses Mal ist Pyenv nicht enthalten und wird mit Python 3.5 eingestellt, das bereits installiert ist.

Umgebung

Vagrantfile-Einstellungen

Verwenden Sie die Ubuntu 16.04-Box (ubuntu / xenial64).

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network "forwarded_port", guest: 80, host: 9090, host_ip: "127.0.0.1"
end

Starten Sie Vagrant und treten Sie ein

$ vagrant up
$ vagrant ssh

Installieren Sie Apache2

$ sudo apt-get update
$ sudo apt-get install -y vim apache2 apache2-dev

Installieren Sie mod_wsgi

$ sudo apt-get install -y libapache2-mod-wsgi-py3

Installieren Sie Django und erstellen Sie eine App

$ sudo apt-get install -y python3-pip
$ sudo pip3 install --upgrade pip
$ sudo pip3 install django
$ mkdir /vagrant/django
$ cd /vagrant/django
$ django-admin startproject mysite

apache2 Einstellungen

Erstellen Sie django.conf

Erstellen Sie eine neue / etc / apache2 / sites-available / django.conf.

/etc/apache2/sites-available/django.conf


<VirtualHost *:80>
  WSGIDaemonProcess mysite python-home=/usr python-path=/vagrant/django/mysite
  WSGIScriptAlias / /vagrant/django/mysite/mysite/wsgi.py process-group=mysite
  <Directory /vagrant/django/mysite/mysite>
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>
</VirtualHost>

Jeder Parameter von WSGI sieht wie folgt aus. Hier finden Sie ein detailliertes Handbuch [https://modwsgi.readthedocs.io/en/develop/user-guides.html]. Wenn Sie also Fragen oder Fehler haben, sollten Sie es lesen.

 $ python3
 >>> import sysconfig
 >>> sysconfig.get_config_var('prefix')
'/usr'

--python-path ist der Pfad zum Stammordner Ihres Django-Projekts. --WSGIScriptAlias, das erste / ist der URL-Pfad, auf dem die Anwendung basiert. Im Fall von / wird es zu WEB ROOT. Der zweite Teil ist der Speicherort der WSGI-Datei.

Aktivieren Sie django.conf

Deaktivieren Sie die Standardeinstellungen und aktivieren Sie "django.conf".

$ sudo a2dissite 000-default
$ sudo a2ensite django

Starten Sie apache2 neu.

$ sudo systemctl restart apache2

Recommended Posts

Erstellen Sie mit Vagrant (Ubuntu 16.04) eine Umgebung für Django x Apache x mod_wsgi.
Verschiedene Befehle zum Erstellen einer Umgebung mit Apache
Erstellen Sie eine Umgebung mit virtualenv
Erstellen Sie eine API mit Django
[Linux] WSL2 Erstellen Sie mit Ubuntu 20.04 eine Umgebung für laravel7
Erstellen Sie mit AirtestIDE eine Umgebung für die Testautomatisierung (Tipps)
Erstellen Sie mit Docker eine Umgebung für "Deep Learning von Grund auf neu"
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen Sie ein USB-Boot-Ubuntu mit einer Python-Umgebung für die Datenanalyse
Django + Apache mit mod_wsgi unter Windows Server 2016
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Erstellen Sie mit Django Updateview einen Update-Bildschirm
Vorgehensweise zum Erstellen einer Django-Umgebung mit Win10 WSL Ubuntu18.04 + Anaconda + Apache2
Erstellen Sie mit boot2docker eine Ausführungsumgebung für jede Sprache
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Erstellen Sie mit Django ein Dashboard für Netzwerkgeräte!
Erstellen Sie mit Docker eine Umgebung aus Nginx + uWSGI + Python (Django)
Versuchen Sie, mit VisualStudioCode eine Umgebung für MayaPython zu erstellen
Verfahren zum Erstellen einer Anwendung mit Django mit Pycharm ~ Vorbereitung ~
Vorgehensweise beim Erstellen von Ubuntu als virtuelle Umgebung mit Vagrant + Virtualbox für LPIC Level 1.
Erstellen einer Umgebung für "Tello_Video" unter Mac OS X.
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
Erstellen einer Umgebung für die Verarbeitung natürlicher Sprache mit Python
Erstellen Sie eine Umgebung für MkDocs unter Amazon Linux (versucht)
Erstellen Sie eine Open AI Gym-Umgebung mit Bash unter Windows 10
Erstellen Sie eine Django-Umgebung mit Docker-Compose (MariaDB + Nginx + uWSGI).
Erstellen einer Django-Umgebung für Win10 (mit virtuellem Speicherplatz)
Ich habe versucht, mit Python (Mac OS X) eine Umgebung für maschinelles Lernen zu erstellen.
Neuerstellung der Umgebung für maschinelles Lernen mit Miniconda (Windows-Version)
Linux-Anfänger erstellen eine Ubuntu 16.04-Umgebung auf Docker (für Mac) - erste Hälfte
[Memo] Erstellen Sie mit Docker eine Entwicklungsumgebung für Django + Nuxt.js
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Minimales Makefile und buildout.cfg, um eine Umgebung mit buildout zu erstellen
Erstellen Sie eine Authentifizierungsfunktion mit django-allauth und CustomUser in Django
Erstellen Sie eine LAMP-Umgebung mit Vagrant (Linux + Apache + MySQL + PHP)
[Django] Memo zum Erstellen einer Umgebung von Django + MySQL + Vue.js [Python]
Erstellen Sie mit Django eine API für die soziale Integration von Smartphone-Apps
[Python] Erstellen Sie mit Django einen Bildschirm für den HTTP-Statuscode 403/404/500
Verwenden von X11 mit ubuntu18.04 (C-Sprache)
Python3 + Django ~ Mac ~ mit Apache
Erstellen Sie eine Homepage mit Django
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Django - Bereitstellung des virtuellen Hosts Apache mod_wsgi
(Hinweis) Django in Vagrant-Umgebung
Erstellen Sie eine Windows Python-Ausführungsumgebung mit VScode + Remote WSL
Erstellen Sie mit der AWS-API einen Alias für Route53 zu CloudFront
Beim Erstellen einer Umgebung, die Python Django unter Ubuntu 12.04 LTS verwendet
Ich habe eine Entwicklungsumgebung für Django 3.0 mit Docker, Docker-Compose und Poetry erstellt
Erstellen Sie mit GCP + Docker + Jupyter Lab eine beliebige Umgebung für maschinelles Lernen
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Laden Sie ein Django-Modul mit einem Interpreter
Django-Anfänger versuchten, die Umgebung aufzubauen
[Für Anfänger] Django -Entwicklungsumgebung Bau-
Erstellen Sie eine virtuelle Umgebung mit Python!
Legen Sie mit Apache + mod_wsgi mehrere WSGIPythonPath fest
Führen Sie python3 Django1.9 mit mod_wsgi aus (deploy)
Erstellen Sie eine API mit hug mit mod_wsgi
Errichtete eine Umgebung für Anaconda & Jupyter