Ungültiger Befehl 'WSGIScriptAlias", vielleicht falsch geschrieben oder durch ein Modul nicht im Lieferumfang enthalten in der server-Konfiguration

Ich versuche zum einrichten einer Django-server für die Produktion. In meinem browser, wenn ich geben Sie die IP-Adresse entspricht meinem server, erhalte ich die Standard-Apache-Seite "It works!" statt einer Django-bezogene Seite.

Habe ich geändert httpd.conf um folgende Zeile:

WSGIScriptAlias //var/the-1/django/The1/apache/django.wsgi

Und ich habe die eigentliche Datei django.wsgi, die aussieht wie:

import os
import sys

path = '/var/the-1/django/The1'
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'The1.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Aber wenn ich den server neu starten, erhalte ich die Fehlermeldung:

AH00526: Syntax error on line 506 of /usr/local/apache2/conf/httpd.conf:
Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration

wenn ich versuche, den Apache neu starten mit:

/usr/local/apache2/bin/apachectl -k restart

Jedoch, wenn ich den Befehl:

sudo service apache2 restart

Ich nicht die Fehlermeldung (obwohl ich glaube, Sie sind nicht wirklich die gleiche Sache zu tun).

Wenn ich apache2ctl -M, die folgenden zwei Zeilen angezeigt (unter anderem):

alias_module (shared)
wsgi_module (shared)

also ich glaube, dass die Module ordnungsgemäß ausgeführt werden.

Ich habe bereits versucht komplett zu deinstallieren und neu zu installieren libapache2-mod-wsgi. Der server dem ich arbeite, ist ein Raspberry Pi läuft Raspbian. Dies ist mein erstes mal, einen server einzurichten, so weiß ich sehr wenig über Apache oder zum einrichten Django.

BEARBEITEN: Unten ist meine httpd.conf-Datei (beachten Sie, dass, weil die eigentliche Datei ist so lang, ich habe entfernt alle Kommentare):

ServerRoot "/usr/local/apache2"

Listen 80

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule filter_module modules/mod_filter.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule wsgi_module modules/mod_wsgi.so

<IfModule unixd_module>
User daemon
Group daemon
</IfModule>

ServerAdmin you@example.com
ServerName [SERVER_IP_ADDRESS]:80 # Removed for security reasons

#<Directory />
#    AllowOverride none
#    Require all denied
#</Directory>

DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
</IfModule>

<IfModule cgid_module>
</IfModule>

<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
        TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

<VirtualHost *:80>
    ServerName [SERVER_IP_ADDRESS]:80 # Removed for security reasons
    WSGIScriptAlias //var/the-1/django/The1/apache/django.wsgi
    <Directory /var/the-1/django/The1/apache>
        ###<Files django.wsgi>
            Order allow,deny
            Allow from all
        ###</Files>
    </Directory>
</VirtualHost>

EDIT 2 (Lösung): Es wurden einige Probleme mit meinem obigen config-Datei. Mir fehlte eine LoadModule-Zeile für mod_wsgi.so, und ich hatte auch einen Kommentar aus einer der Sektionen. Die Kommentare in der ersten Lösung durch die es ein bisschen.

InformationsquelleAutor RevolutionTech | 2014-01-27

Schreibe einen Kommentar