2017-01-09 8 views
1

SOME HINTERGRUND:mysql und gunicorn offene Verbindungen am selben Port

Ich habe eine django app erstellt, und ich bin an dem Punkt, wo ich es bereitstellen möchten. Ich habe mehrere Optionen einschließlich wsgi angeschaut, aber seit das neue Mac OS Update zustande kam, kann ich mod_wsgi nicht installieren, weil ich keine apxs oder apxs2 auf meinem Computer habe. (Einige Diskussionen im Web über Rechte zum Schreiben von Dateien, Wenn Sie wissen mehr und würde gerne erklären, bitte.)

Allerdings habe ich andere Optionen untersucht, um zu versuchen, die App zu implementieren, und ich möchte Heroku verwenden. Ich habe den Dev-Leitfaden für den Django-Einsatz verfolgt, bis ich den Teil erreicht habe, in dem ich "Heroku Local Web" verwende.
DER AUSGABE

Das Problem von hier stammt, da der lokale MySQL-Server den gleichen Anschluss verwendet, der die gunicorn auch zu nutzen versucht. Ich habe ähnliche Beiträge auf Stackoverflow über 'in Benutzung befindliche Verbindungen' gefunden, aber keine hat gezeigt, wie man Ports für Gunicorn ändert. Ich habe einige offene Ports auf meinem localhost gefunden, aber jedes Mal, wenn ich versuche, die mysql-Ports in diese zu ändern, läuft die Verbindung ab. Daher würde ich gerne wissen, wie man den Port ändert, mit dem Gunicorn eine Verbindung herstellt, so dass es nicht versucht, sich mit dem gleichen Standard-Port wie der mysql, der 3306 ist, zu verbinden.

Ich diente dem Django-Projekt mit dem Server, der kam mit und die Datenbank, die ich verwende, ist MySQL für die lokale Produktion. Ich versuche jetzt, mich lokal mit Gunicorn und Heroku zu verbinden, weil ich denke, dass wenn es lokal richtig geht, es wahrscheinlich richtig gehen wird, wenn ich versuche, das Projekt online zu stellen.

ERROR BESTIMMTEN

10:38:52 PM web.1 | [2017-01-08 22:38:52 -0500] [83200] [ERROR] Connection in use: ('0.0.0.0', 3306) 
10:38:52 PM web.1 | [2017-01-08 22:38:52 -0500] [83200] [ERROR] Retrying in 1 second. 
10:38:53 PM web.1 | [2017-01-08 22:38:53 -0500] [83200] [ERROR] Connection in use: ('0.0.0.0', 3306) 
10:38:53 PM web.1 | [2017-01-08 22:38:53 -0500] [83200] [ERROR] Retrying in 1 second. 
10:38:54 PM web.1 | [2017-01-08 22:38:54 -0500] [83200] [ERROR] Connection in use: ('0.0.0.0', 3306) 
10:38:54 PM web.1 | [2017-01-08 22:38:54 -0500] [83200] [ERROR] Retrying 

in 1 Sekunde.

PROFIL

web: gunicorn project_name.wsgi.application --log-file - 

Die gunicorn verbindet, wenn ich den MySQL-Server zu stoppen, aber ich erhalte eine Ausnahme, da das Projekt nicht auf die Datenbanken verbinden kann.

--Thank Sie

Antwort

0

Sie den Port für Gunicorn angeben können, wie folgt -

gunicorn --bind 127.0.0.1:8000

Also im Grunde die komplette Befehl wäre

gunicorn --bind 127.0.0.1:8000 myproject.wsgi:application

Sie können Ändern Sie 8000 zu einer beliebigen gewünschten Portnummer.

0

Um mod_wsgi auf MacOS X siehe zu installieren:

Alles, was Sie tun müssen, pip install mod_wsgi ist.

Sie können dann mod_wsgi-express in der Befehlszeile verwenden, um es auf einem unprivilegierten Port auszuführen, wobei die gesamte Konfiguration für Sie erledigt ist.

Oder Sie können es mit der vorhandenen Apache-Installation integrieren und es manuell konfigurieren, indem Sie mod_wsgi-express module-config ausführen und nehmen, was es ausgibt, und fügen Sie es der Apache-Hauptkonfiguration für das System hinzu. Fügen Sie dann Ihre spezifische WSGI-Anwendungskonfiguration zur Apache-Konfigurationsdatei hinzu.

Verwandte Themen