我在启动Apache时遇到"无效命令'WSGIScriptAlias'"错误

Bur*_*rak 17 django mod-wsgi

我想将我的Django项目部署到EC2服务器.我安装了mod_wsgi.

并在django的教程中进行了配置.

我得到以下内容:

Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)

是什么原因?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>
Run Code Online (Sandbox Code Playgroud)

小智 43

问题是mod_wsgi没有正确安装.

解决方案(使用Apache 2):

  1. 安装Apache:

    $ sudo apt-get install apache2
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装libapache2-mod-wsgi:

    $ sudo apt-get install libapache2-mod-wsgi
    
    Run Code Online (Sandbox Code Playgroud)

这应该工作正常.

  • 我必须安装“libapache2-mod-wsgi-py3”。 (2认同)

Gra*_*ton 15

该错误明确指出mod_wsgi未加载到Apache中.

在什么文件中:

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so
Run Code Online (Sandbox Code Playgroud)

您是否使用适当的Linux发行版管理命令启用了mod_wsgi模块,以便在使用mod_wsgi的发行版二进制包时将加载它?

  • 对我而言,它通过发出以下命令起作用:sudo a2enmod wsgi(http://stackoverflow.com/a/20627328/811335) (2认同)