没有模块名称django.core.wsgi apache2 + ubuntu + mod_wsgi

时间:2017-06-09 11:56:49

标签: python django apache hosting mod-wsgi

我已经设置了我的wsgipythonpath和daemonprocess但是错误日志显示上面的错误没有名为django.core.wsgi的模块,我正在分享我的conf,可能是什么错误,我怎样才能检查apache是​​否可以访问我的django安装与否。 我可以在本地系统上使用相同的配置但不能在远程服务器上托管

WSGIPythonPath /home/env_mysite/lib/python2.7/site-packages
<VirtualHost *:80>
   ServerName  localhost
   DocumentRoot /home/unixadmin/PBpy

   WSGIScriptAlias / /home/unixadmin/PBpy/PBpy/wsgi.py

   WSGIDaemonProcess PBpy python-path=/home/env_mysite/lib/python2.7/site-packages

   ErrorLog /home/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

   <Directory "/home/unixadmin/PBpy">
     Require all granted
   </Directory>

2 个答案:

答案 0 :(得分:0)

试试WSGIDaemonProcess

WSGIDaemonProcess <env> python-path=<path to project code> python-home=<path to env>

希望这有用。

答案 1 :(得分:0)

有关mod_wsgi配置的两点突出。

1 - 您使用WSGIDaemonProcess但不使用WSGIProcessGroupapplication-group WSGIScriptAlias选项来委派WSGI应用程序在守护程序中运行过程组。

2 - 您没有使用建议的方法来设置mod_wsgi的Python虚拟环境。参见:

自从您尝试使用Python虚拟环境以来,另一个可能的问题是您的mod_wsgi是否为Python 2.7编译,特别是相同的Python安装。您是否在同一目标系统上使用系统Python 2.7安装创建了Python虚拟环境?

其他奇怪的事情或问题的根源是:

1 - ServerName不应设置为localhost。如果恰好是Apache发现的第一个VirtualHost,那么事情仍然会有效。

2 - 用户通常无法访问主目录,因为您的代码在Apache下运行,因此甚至无法查看Python包。