2016-06-08 15 views
0

Ich versuche herauszufinden, wie man eine django-Website bereitstellen kann, ohne eine "run server" -Methode an der Eingabeaufforderung verwenden zu müssen. Etwa 30 Personen im Unternehmen werden es intern nutzen, aber die Dokumentation besagt, dass runserver nur für Entwicklungszwecke und nicht für die Produktion gedacht ist.Django (Alternative zu "runserver")

Ich habe mir MAMP, Apache, FastCGI usw. angeschaut. Ich stelle fest, dass ich die Menge an Arbeit in Frage stelle, die es erfordern würde, und ob es zu empfehlen wäre. Mein Web ist nichts Besonderes. Ein paar Dateien, Links, Python-Skripte, etc.

Ich fühlte, dass die anderen Stack-Posts keine gute Arbeit geleistet hatten, als sie ihre Fragen über grundlegende "Deployment-Methoden" für django formulierten, die eine Vielzahl von Antworten propagierten.

Also meine Frage ist spezifisch: "Welche kostenlose, interne Web-Server-Anwendung wird am besten empfohlen, ein Django-Framework mit einem Verkehr von etwa 30 Benutzer ohne die Verwendung der Runserver-Methode an der Eingabeaufforderung zu behandeln?"

Lassen Sie mich wissen, wie ich diese Frage für eine bessere Diskussion ändern kann.

+1

https://www.google.com/search?q=lightweight+wsgi+container –

+0

uWSGI + nginx auf einem lokalen Server, sollte weniger als eine Stunde dauern, um einzurichten. – lonewaft

+0

Was meinen Sie mit _interne Webserver-Anwendung_? Müssen Sie den Zugriff auf ein lokales Intranet beschränken? –

Antwort

1

WARNUNG: Ich weiß OP nicht runserver verwenden will, ich wissentlich bin darauf hindeutet, dass er wahrscheinlich sollte, weil Skalierung noch kein Thema ist, und es gibt keinen Grund, andere Abhängigkeiten aus anderen Gründen einzuführen.

ANTWORT Keine Verwendung von runserver ist eine Auswahl, die von der Skalierung abhängt. Alles gesagt (einschließlich Django Dokumentation Warnung vor der Verwendung runserver auf Produktion), Ihre Situation ist wirklich nicht Produktion eingerichtet. Der Runserver von Django ist bereits ziemlich gut und kann normalerweise mit der Last umgehen, die Sie beabsichtigen, und wenn es nicht möglich ist, ist es unwahrscheinlich, dass Ihnen ein anderer Container helfen kann (Ihr Code ist wahrscheinlich fehlerhaft).

Was Sie tun müssen, ist es, andere Hosts als etwas Bestimmtes zu verbieten: sagen Sie den Hostnamen des Rechners oder nur die IP. Sie sollten ALLOWED_HOSTS entsprechend einstellen.

+0

ALLOWED_HOSTS beschränkt Clients nicht den Zugriff auf die Anwendung, die er benötigt. –

+0

Messepunkt, @JohnGordon. Aber die Frage ging nicht um Sicherheit oder Berechtigungen. Ich hoffe, dass das OP die damit verbundenen Sicherheitsprobleme kennen würde, und ich hoffe auch, dass die OP-Anwendung über einen sicheren Kanal authentifiziert ist. – zEro

+1

N.B .: 'runserver' ist single-threaded, single-processed, so XHR kann ohne Angabe fehlschlagen. –