Versuchen Sie Debian + Python 3.4 + django1.7 ……

Rückblickend ist das Ende zu dumm, aber ich habe es vorerst gemacht, also habe ich es aufgenommen.

Was ich machen wollte

Oder es gibt eine Anfrage, dass "ich möchte, dass vorerst alles in der Entwicklungsumgebung selbst mit Emacs und geöffnetem Terminal funktioniert".

Unter dem Strich können Sie zu `` `./manage.py runserver``` gehen, aber mod_wsgi lässt die letzte Anfrage nicht zu.

Referenzlink

Arbeit

Ich hatte das Gefühl: "Wenn du dich so weit bewegst, wirst du vorerst gewinnen. Der Rest ist die Einstellung von Apache2."

WSGIDaemonProcess mysite user=www-data group=www-data processes=2 threads=2 \
  maximum-requests=100 umask=0007 \
  python-path=/opt/mysite:/opt/django1.7/lib/python3.4/site-packages
WSGIScriptAlias /mysite  /opt/mysite/mysite/wsgi.py
<Directory /opt/mysite/mysite>
    <Files wsgi.py>
        SetEnv PROCESS_GROUP mysite
        Order deny,allow
        Allow from all
    </Files>
</Directory>    

Machen Sie die SQLite-Datenbank vorerst beschreibbar aus www-Daten.

(django1.7) > chmod 777 db.sqlite3
(django1.7) > chmod 777 .
(django1.7) > sudo service apache2 restart

(Visit http://localhost/mysite/admin)

Leicht modifizierte urls.py und views.py, um sicher zu sein, dass die Version wirklich 3.4 ist

urls.py


from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'mysite.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'mysite.views.home', name='home'),
)

views.py


from django.http import HttpResponse
import sys

def home(request):
    return HttpResponse(str(sys.version_info), content_type="text/plain")

Ergebnis

Wenn Sie es von ./manage.py runserver ausführen (mit aktiviertem venv)

sys.version_info(major=3, minor=4, micro=0, releaselevel='final', serial=0)

Bei Ausführung mit apache2 + mod_wsgi

sys.version_info(major=3, minor=2, micro=3, releaselevel='final', serial=0)

Nyoron …… (Wenn libapache2-mod-wsgi-py3 nicht installiert ist, handelt es sich um eine 2.7-Serie, die noch schockierender ist.)

Das Apache2-Protokoll sagt alles.

[Thu May 01 17:01:31 2014] [notice] Apache/2.2.22 (Debian) mod_auth_tkt/2.1.0 PHP/5.4.4-14+deb7u9 mod_ssl/2.2.22 OpenSSL/1.0.1e mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Thu May 01 17:04:01 2014] [notice] caught SIGTERM, shutting down
[Thu May 01 17:04:02 2014] [warn] mod_wsgi: Compiled for Python/3.2.2rc1.
[Thu May 01 17:04:02 2014] [warn] mod_wsgi: Runtime using Python/3.2.3.

Da orz

Es ist wahrscheinlich nicht möglich, mehrere mod_wsgi zu haben, daher muss ich Apache separat haben. Wenn Sie das tun, verwenden Sie Docker oder KVM. Wenn das Betriebssystem jedoch auf diese Weise aufgeteilt wird, wird die Einstellungsdatei auch in alle Richtungen aufgeteilt, sodass sie weit von der ursprünglichen Anforderung entfernt ist.

Nachtrag

Ich hatte die Idee eines Reverse-Proxys von Tornado + Apache. Die Tatsache, dass ich den Tornado bisher nicht kannte, ließ mich zittern

Nein, aber ich kannte heute sowohl xbuild als auch pyenv. Es gibt keine Wahl.

Recommended Posts

Versuchen Sie Debian + Python 3.4 + django1.7 ……
Versuchen Sie Python
Python Django Tutorial (5)
Python Django Tutorial (2)
Python> try: / außer:
Python Django Tutorial (8)
Python Django Tutorial (6)
Python Django Tutorial (7)
Python Django Tutorial (1)
Python Django Tutorial Tutorial
Python Django Tutorial (3)
Python Django Tutorial (4)
Django 1.11 wurde mit Python3.6 gestartet
Versuchen Sie es mit Python.
Zusammenfassung des Python Django-Tutorials
Django Python Web Framework
Python versuchen ~ außer ~ sonst
Django Python Verschiebungstabelle
Versuchen Sie gRPC in Python
Versuchen Sie es mit Django templates.html
Probieren Sie 9 Slices in Python aus
Versuchen Sie es mit Tweepy [Python2.7]
Python Django CSS reflektiert
Python versuchen / außer Memo
Python-Anfänger versucht, dem Administrator von Django eine grundlegende Authentifizierung hinzuzufügen
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Mach Django mit CodeStar (Python3.6.8, Django2.2.9)
Versuchen Sie, Python selbst zu verstehen
Mach Django mit CodeStar (Python3.8, Django2.1.15)
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Versuchen Sie es mit Kubernetes Client -Python-
Python3 + Django ~ Mac ~ mit Apache
ToDo-Listenerstellung [Python Django]
Erste Schritte mit Python Django (1)
Erste Schritte mit Python Django (4)
Versuchen Sie LINE Notify mit Python
Erste Schritte mit Python Django (3)
Installieren Sie Python 3.7 und Django 3.0 (CentOS)
Versuchen Sie, Python mit Try Jupyter auszuführen
GAE + Python + Django süchtig machende Geschichte
Lassen Sie uns Yuma in Python 3 implementieren
Einführung in Python Django (6)
Python Django Tutorial Cheet Sheet
Versuchen Sie die Gesichtserkennung mit Python
Erste Schritte mit Python Django (5)
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Versuchen Sie es mit dem Python-Webframework Django (2). Schauen Sie sich settings.py an
Versuchen Sie es mit Python + Beautiful Soup
Azure-Funktionen: Probieren Sie dauerhafte Funktionen für Python aus
Versuchen Sie die IAM-Datenbankauthentifizierung von Python aus
8 häufig verwendete Befehle in Python Django
Python
Python Practice_Virtual Environment Setup ~ Django-Installation
Probieren Sie das Python LINE Pay SDK aus
Versuchen Sie, Facebook mit Python zu betreiben
Versuchen Sie die Singularwertzerlegung mit Python
Erstellen Sie eine neue Anwendung mit Python, Django
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Versuchen Sie es mit LevelDB mit Python (plyvel)