https://www.sitepoint.com/deploying-a-django-app-with-mod_wsgi-on-ubuntu-14-04/django deploy - ubuntu 14.04 und apache2
und
https://www.youtube.com/watch?v=hBMVVruB9Vs
Dies war das erste Mal, stelle ich eine Web site bekannt, das sind die Tutorials, die ich gefolgt.
Jetzt kann ich auf den Server (durch Eingabe von 10.231.XX.XX) von einem anderen Rechner zugreifen und die Apache2 Ubuntu Default Page sehen.
Dann habe ich versucht, auf mein Django-Projekt zuzugreifen. Ich betreibe:
Python manage.py runserver 8000 Validieren Modelle ...
0 Fehler 3. August gefunden, 2016 - 09.44.20 Django Version 1.6.1, mit Einstellungen 'Einstellungen' Starten des Entwicklungsservers unter http://127.0.0.1:8000/ Beenden Sie den Server mit CONTROL-C.
Dann tippe ich 10.231.XX.XX: 8000, um zu versuchen, auf die Django-Seite zuzugreifen. Aber ich habe versagt. Er sagte:
Diese Seite nicht
erreicht werden kann10.231.XX.XX weigerte sich zu verbinden. Suche Google nach 231 8000 ERR_CONNECTION_REFUSED
Ich habe alles versucht, was ich kann, aber immer noch nicht verstehen, warum. (wie auf der Website gefolgt https://www.sitepoint.com/deploying-a-django-app-with-mod_wsgi-on-ubuntu-14-04/) Ich habe Apache Ordner in mysite Ordner und in override.py:
from mysite.settings import *
DEBUG = True
ALLOWED_HOSTS = ['10.231.XX.XX']
in wsgi.py:
import os, sys
# Calculate the path based on the location of the WSGI script.
apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path.append(project)
# Add the path to 3rd party django application and to django itself.
sys.path.append('/home/zhaojf1')
os.environ['DJANGO_SETTINGS_MODULE'] = '10.231.52.XX.apache.override'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
und __init__py ist leer.
in /etc/apache2/sites-enabled/000-default.conf:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
WSGIScriptAlias /msa.html /home/zhaojf1/Web-Interaction/apache/wsgi.py
<Directory "/home/zhaojf1/Web-Interaction-APP">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Ich habe auch Apache neu starten, nachdem ich alles tun.
Vielen Dank für Hilfe
Können Sie zu Nginx wechseln. Nginx wird empfohlen, zusammen mit Django und uwsgi zu stapeln. – Aki003
Alle Apache/mod_wsgi, Gunicorn und uWSGI sind gute Optionen. FWIW, die Django-Dokumentation empfiehlt weiterhin mod_wsgi. https://docs.djangoproject.com/de/1.10/howto/deployment/ Ändern der WSGI-Server in diesem Fall wird nicht unbedingt helfen, aufgrund von grundlegenden Fehlern, und Sie nur am Ende mit einer Reihe von neuen Problemen, die bei der Änderung gelöst werden . –