我在 CentOS 6.7 上使用 Django 1.8 Apache 服务器版本:Apache / 2.2.15(Unix)。
我已按照How To Serve Django Applications with Apache and mod_wsgi on CentOS 7.中的步骤进行操作
但是,当我使用命令service httpd start
而不是systemctl start httpd
启动 Apache 服务器的最后一步时,根据教程我没有Centos 6.7而不是CentOS 7.
出现以下错误:
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/django.conf:
Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module ot included in the server configuration
你可以在这里查看django.conf:
Alias /static /home/ftpispy/ispy/static
<Directory /home/ftpispy/ispy/static>
Require all granted
</Directory>
<Directory /home/ftpispy/ispy/ispy>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess ispy python-path=/home/ftpispy/ispy:/home/ftpispy/ispy/venv/lib/python2.7/site-packages
WSGIProcessGroup ispy
WSGIScriptAlias / /home/ftpispy/ispy/ispy/wsgi.py
提前致谢。请使用 djnago 1.8 建议在 CentOS 6.7 上部署任何其他选项。
答案 0 :(得分:12)
通过运行
确保安装了wsgi软件包sudo a2enmod wsgi
如果未安装,请执行以下命令安装
for python2
sudo apt-get install python-pip apache2 libapache2-mod-wsgi
for python3
sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3
答案 1 :(得分:10)
在2020年今天安装mod_wsgi
的正确方法(来源:https://github.com/GrahamDumpleton/mod_wsgi/issues/233)
I。。卸载libapache2-mod-wsgi
sudo apt-get remove libapache2-mod-wsgi
sudo apt-get remove libapache2-mod-wsgi-py3
II。。使用pip安装mod_wsgi
pip install mod_wsgi
如果已安装,请对其进行更新:
pip uninstall mod_wsgi
pip install mod_wsgi
III。。此后,mod_wsgi-express
命令必须可用。与
mod_wsgi-express module-config
IV。。获取其输出,这就是告诉Apache在哪里可以找到新mod_wsgi
版本的内容。
V。更新wsgi.load
文件
sudo nano /etc/apache2/mods-available/wsgi.load
删除wsgi.load
的任何行,并跳过 IV
VI。确保已启用mod_wsgi
:
sudo a2enmod wsgi
VII。重新启动您的Apache服务
systemctl reload apache2
答案 2 :(得分:3)
应为mod_wsgi
启用Apache
模块。确保/etc/apache2/mods-enabled/
中的wsgi.conf
和wsgi.load
中的/etc/apache2/mods-available/
设置符号链接。
在旁注中,查看最新一代的mod_wsgi
,它提供了一种使用简单工具wsgi
启动mod_wsgi-express
个应用程序的便捷方式(无需设置httpd
配置)。
答案 3 :(得分:0)
我有类似的错误
无效的命令“ WSGIDeamonProcess”,可能由以下命令拼写错误或定义 服务器配置中未包含的模块
因为忘记了在路径之前写“ / ”
WSGIScriptAlias / / var / www ...
答案 4 :(得分:0)
确保在CentOS中安装了正确版本的mod_wsgi。 yum repo随附的mod_wsgi是基于(iirc)python 2.6编译的。您需要使用python 2.7编译的mod_wsgi。
我认为[1]可能会帮助您,尽管它提到使用python 2.4的CentOS 5/6(CentOS 6.7使用python 2.6作为基础)。