Apache服务器错误“ImportError:No module named site”

我正在尝试使用基于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 $ 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中的一些重要的configuration设置是

 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 

与基于JFFS2的根文件系统相同的configuration工作正常。

在我启动apache服务之前,

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

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

Apache不会看到这个variables(除非你对sudoconfiguration做了一些修改)。 尝试把导出到restart.sh,看看它是什么。