[PYTHON] Lassen Sie uns Django und Apache (httpd) auf dem Mac integrieren! !!

Umgebung

Shimarisu Taros Es war ein Leben, das ich Django und Apache auf dem Mac verbinden wollte Ich durfte mich beziehen!

Es gibt jedoch einige Bereiche, die ich nicht lösen konnte, daher poste ich sie in der Hoffnung, dass sie Menschen unter ähnlichen Umständen helfen werden!

Dies ist mein erster Beitrag, aber ich werde versuchen, ihn auf leicht verständliche Weise zu vermitteln. Lol

Diese Zusammenfassung

--Installation um mod_wsgi

--apache Einstellungen

Python-Einstellungen

Die Version von Python, die ich dieses Mal verwendet habe, ist 3.6.2.

Ich denke, jede Version ist hier in Ordnung.

Jedoch,

CONFIGURE_OPTS="--enable-shared" pyenv install 3.6.2

Es muss mit Option wie installiert werden.

Toyu

/Users/username/.pyenv/versions/3.6.2/lib/libpython3.6m.dylib

Wenn es keine solche Datei gibt, kann mod_wsgi.so, das später angezeigt wird, nicht auf Python verweisen und gibt einen Fehler aus.

Wenn Sie dies nicht gelöscht haben und ein Django-Projekt erstellen, installieren Sie Python mit der oben beschriebenen Methode und erstellen Sie das Projekt erneut. ..

Installation um mod_wsgi

pip install mod-wsgi-httpd

pip install mod_wsgi

Bitte installieren Sie um mod_wsgi mit!

Dieser Typ ist für die Verbindung von Apache und Django verantwortlich.

Apache-Einstellungen

Der Mac wird standardmäßig mit Apache geliefert, aber die Verwendung scheint nutzlos zu sein. Installieren Sie daher die neueste Version.

Verfahren zum Installieren von Apache httpd unter macOS mit Homebrew

War sehr leicht zu verstehen!

Nächster,

/usr/local/etc/httpd/httpd.conf

Ich werde Code hinzufügen. Das ist das Wichtigste!

Herr Taro Shimarisu wird auch erwähnt,

[Einführung in Django] Lassen Sie uns den Server mit Apache ausführen

Es ist ein Fehler, httpd.conf in Folgendes hinzuzufügen.

LoadModule /Users/username/.pyenv/versions/anaconda3-4.3.0/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-darwin.so
WSGIScriptAlias / /Users/username/anaconda3/mySite/mySite/wsgi.py
WSGIPythonPath /Users/username/anaconda3/mySite
WSGIPythonPath /Users/username/.pyenv/versions/anaconda3-4.3.0/lib/python3.6/site-packages
<Directory /Users/username/anaconda3/mySite/mySite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

Es gibt drei Orte, an denen ich hier erwischt wurde.

Der erste ist der Fall, in dem das Argument in der ersten Zeile nicht ausreicht. Korrekt,

LoadModule wsgi_module /Users/username/.pyenv/versions/3.6.2/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-darwin.so

Es muss ein Argument namens wsgi_module geben, wie z.

Die zweite ist der Fall, in dem die fünfte Zeile nicht erforderlich ist. Kommentieren oder löschen Sie es wie folgt:

#WSGIPythonPath /Users/e175711/.pyenv/versions/3.6.2/lib/python3.6/site-packages

Dies ist der Teil, auf den Herr Taro Shimarisu nicht hingewiesen hat!

Ich frage mich, ob es nur in meiner eigenen Umgebung notwendig war.

Übrigens, wenn Sie hier nicht kommentieren, wenn Sie auf localhost zugreifen

500 Internal Server Error

Ich habe einen Fehler bekommen.

Die dritte ist der Fall, wenn die 9. und 10. Zeile alt sind. Lassen Sie es uns wie folgt beheben!

<Directory /Users/username/anaconda3/mySite/mySite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Dies ist ein Teil, auf den Herr Taro Shimarisu nicht hingewiesen hat! Die Spezifikationen haben sich geändert ~

Übrigens, wenn Sie es beim Zugriff auf localhost nicht ändern

403 Forbidden

Ich habe einen Fehler bekommen.

Sie können hier nur von einer bestimmten IP-Adresse aus zugreifen. Passen Sie dies bitte entsprechend an!

Endlich hier

sudo brew services restart httpd

Drücken Sie und Sie sollten in der Lage sein, die Django-Tutorial-Seite zu sehen!

Der Grund für den Neustart besteht darin, die geänderte httpd.conf zu lesen und wiederzugeben.

Am Ende

Danke, dass Sie so weit gelesen haben! Ich habe es in diesem Artikel nicht behandelt, aber ich hatte ein Problem, dass ich nicht darauf zugreifen konnte, weil ich in den Projekteinstellungen.py nicht ALLOWED_HOSTS festgelegt habe und über verschiedene andere Dinge gestolpert bin. Immerhin ist es schwierig ~ Es ist jedoch immer noch das Beste, wenn ich es auf meine eigene Weise durch Ausprobieren lösen kann. Lol Wenn Sie Mängel feststellen, lassen Sie es uns bitte wissen!

Recommended Posts

Lassen Sie uns Django und Apache (httpd) auf dem Mac integrieren! !!
So integrieren Sie Apache httpd 2.4 und Tomcat 9 unter Cent OS 8
Integrieren Sie Apache und Tomcat
Führen Sie die Kolben-App auf Cloud 9 und Apache Httpd aus
Python3 + Django ~ Mac ~ mit Apache
Installieren Sie Django auf dem Mac
Catalina auf Mac und Pyenv
MQTT auf Raspberry Pi und Mac
HTTPS mit Django und Let's Encrypt
Verknüpfen Sie Modelica und Python unter Windows
Hinweise zum Erstellen von Python und Pyenv auf dem Mac
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
So installieren Sie Apache (httpd) unter CentOS7
So installieren Sie Apache (httpd) unter CentOS8
Webserverkonstruktion mit Apache 2.4 (httpd 2.4.43) + PHP 7.4 unter Linux ―― 4. Sicherheit (chown und firewalld)
Quellkompilierung Apache2.4 (httpd 2.4.43) + PHP7.4 unter Linux zum Erstellen eines Webservers ―― 1. Einführung in Apache
Quellkompilierung Apache2.4 (httpd 2.4.43) + PHP7.4 unter Linux zum Erstellen eines Webservers --2 PHP-Einführung
Verwalten Sie Django-Bilder und statische Assets unter Ubuntu
Führen Sie eine Django-Anwendung unter Windows + Apache + mod_wsgi + aus.
Die Installation von Zsh und Prezto wird auf dem Mac protokolliert
Entfernen Sie die alte Pyenv-Umgebung auf dem Mac und aktualisieren Sie sie
Versuchen Sie, MLB-Daten auf Mac und Python zu importieren
Python auf Mac
Fassen wir Apache zusammen
Installieren Sie Python3 auf einem Mac und erstellen Sie eine Umgebung [Definitive Edition]
Erstellen einer Django-Entwicklungsumgebung mit pyenv-virtualenv auf einem Mac
Apache + Django + Shibboleth unter Windows Server 2016 Zusammenfassung verwandter Artikel
Veröffentlichen Sie Ihre Django-App unter Amazon Linux + Apache + mod_wsgi
Erstellen Sie Apache HTTP Server und Wildfly unter Oracle Linux 8
Installieren von Python 3 auf einem Mac und Überprüfen der Grundfunktionen Teil 1
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Installieren Sie django auf Python + Anaconda und starten Sie den Server