Apache服务器“ImportError:没有名为site的模块”

时间:2013-04-30 16:59:44

标签: apache2

我正在尝试使用基于squashfs的rootfs运行Apache服务器。当我尝试连接到服务器时,我在/ var / log / apache2_error_logs中看到以下内容

cat /var/log/apache2_error_log
[Mon Apr 29 18:40:28.705047 2013] [mpm_worker:notice] [pid 0:tid 1073880416] AH00292: Apache/2.4.3 (Unix) mod_wsgi/3.4 Python/2.7.3 configured -- resuming normal operations
[Mon Apr 29 18:40:28.706298 2013] [core:notice] [pid 2235447778748764:tid 1073880416] AH00094: Command line: '/usr/local/apache2/bin/httpd'
ImportError: No module named site
ImportError: No module named site
ImportError: No module named site
The above log keeps incrementing. 

我也看到httpd已经出现了,但是我也看到了我不明白的失效过程。

ps -aef | grep httpd
root      8085     1  0 18:40 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
daemon    8086  8085  0 18:40 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
daemon    9563  8085  3 18:43 ?        00:00:00 [httpd] <defunct>
daemon    9564  8085  3 18:43 ?        00:00:00 [httpd] <defunct>
manu      9573   448  0 18:43 ttyO2    00:00:00 grep httpd

httpd.conf中的一些重要配置设置是

ServerRoot "/usr/local/apache2"

Listen 80

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 cgid_module modules/mod_cgid.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule wsgi_module modules/mod_wsgi.so

<Directory /platform/www/html/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
</Directory>

ServerName FX750072AFAE:80
<Directory />
    AllowOverride none
    Require all denied
</Directory>

ErrorLog "/var/log/apache2_error_log"
ScriptSock /var/run/cgisock
<Directory "/platform/www/cgi-bin/">
                AddHandler cgi-script .cgi .pl .py
                Options +ExecCGI
                AllowOverride AuthConfig FileInfo
                Order allow,deny
                Allow from all
                Require all granted
</Directory>

<Directory "/platform/www/wsgi-bin/">
        AddHandler wsgi-script .wsgi .pl .py
        Options +ExecCGI
        AllowOverride AuthConfig FileInfo
        Order allow,deny
        Allow from all
        Require all granted
</Directory>
Alias /control "/platform/www/wsgi-bin/rm.wsgi"
Alias /Control "/platform/www/wsgi-bin/rm.wsgi"
PidFile /var/run/httpd.pid

The same configuration with JFFS2 based root file system works fine. 

Also before I launch the apache service, 

export PYTHONHOME=/
sudo /usr/local/apache2/bin/restart.sh

where restart.sh has the following contents
/usr/local/apache2/bin/apachectl  stop
rm -rf /var/run/httpd.pid
/usr/local/apache2/bin/apachectl  start

1 个答案:

答案 0 :(得分:2)

这也发生在我的身上。

我使用的是WSGI和WSGIPythonHome,但是对于apache用户来说,PythonHome是不可读的。