Я получаю сообщение об ошибке Invalid command 'WSGIScriptAlias' при запуске Apache - программирование
Подтвердить что ты не робот

Я получаю сообщение об ошибке Invalid command 'WSGIScriptAlias' при запуске Apache

Я хочу развернуть проект Django на сервере EC2. Я установил mod_wsgi.

И сделал конфигурацию, как в учебнике django.

Я получаю следующее:

Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration

В чем причина? mod_wsgi установлен неправильно?

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so
LoadModule alias_module    libexec/httpd/mod_alias.so


WSGIScriptAlias / /usr/local/apache2/htdocs/mysite/mysite/wsgi.py
WSGIPythonPath /usr/local/apache2/htdocs/mysite/mysite


<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
4b9b3361

Ответ 1

Ошибка указывает, что mod_wsgi не загружается в Apache.

В каком файле:

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so

Вы включили модуль mod_wsgi с соответствующей командой управления дистрибутивом Linux, чтобы он был загружен, если вы использовали дистрибутивные бинарные пакеты для mod_wsgi?

Ответ 2

Проблема в том, что mod_wsgi установлен неправильно.

Решение (с использованием Apache 2):

  • установить Apache:

    $ sudo apt-get install apache2
    
  • установить libapache2-mod-wsgi:

    $ sudo apt-get install libapache2-mod-wsgi
    

И это должно работать нормально.

Ответ 3

просто добавить, как я решил свою проблему если вы не знаете расположение модулей просто найдите их

 locate mod_alias.so

тогда вы можете получить вывод, например

/usr/lib/apache2/modules/mod_alias.so

то вы можете добавить это местоположение в свой файл конфигурации

LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so

Ответ 4

Я просто столкнулся с той же проблемой на openSUSE 12.2 с apache 2.2.

Даже если wsgi установлен, рекомендуется проверить, была ли она активирована. Я имею в виду следующее:

#outputs a list of registered modules
/usr/sbin/httpd2 -M

Если wsgi_module (shared) не появляется, добавьте wsgi к переменной APACHE_MODULES, внутри файла /etc/sysconfig/apache2

Таким образом, я мог вообще избежать строки LoadModule из httpd.conf.

Ответ 5

У меня есть эта же программа в Windows 10, как я могу ее решить?

Syntax error on line 184 of C:/Apache2/conf/httpd.conf:                                                                                                                 

Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration