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

Apache2 “Apache服务器”;ImportError:没有名为site的模块;,apache2,Apache2,我正在尝试使用基于squashfs的rootfs运行Apache服务器。当我尝试连接到服务器时,我在/var/log/apache2\u错误日志中看到以下内容 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 configu

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

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
ps-aef | grep httpd
根8085 1 0 18:40?00:00:00/usr/local/apache2/bin/httpd-k启动
守护进程80868085018:40?00:00:00/usr/local/apache2/bin/httpd-k启动
守护进程95638085318:43?00:00:00[httpd]
守护进程95648085318:43?00:00:00[httpd]
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
ServerRoot”/usr/local/apache2
听80
LoadModule reqtimeout\u模块/mod_reqtimeout.so
LoadModule filter\u modules/mod\u filter.so
LoadModule mime_modules/mod_mime.so
LoadModule log\u config\u module modules/mod\u log\u config.so
LoadModule env_modules/mod_env.so
LoadModule headers\u modules/mod\u headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version\u modules/mod\u version.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule status\u modules/mod\u status.so
LoadModule autoindex_modules/mod_autoindex.so
LoadModule cgid\u module modules/mod\u cgid.so
LoadModule dir\u modules/mod\u dir.so
LoadModule alias\u modules/mod\u alias.so
LoadModule wsgi_modules/mod_wsgi.so
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
服务器名FX750072AFAE:80
不允许超限
要求全部拒绝
ErrorLog“/var/log/apache2\u错误\u日志”
ScriptSock/var/run/cgisock
AddHandler cgi script.cgi.pl.py
选项+执行CGI
AllowOverride AuthConfig文件信息
命令允许,拒绝
通融
要求所有授权
AddHandler wsgi script.wsgi.pl.py
选项+执行CGI
AllowOverride AuthConfig文件信息
命令允许,拒绝
通融
要求所有授权
别名/control“/platform/www/wsgi-bin/rm.wsgi”
别名/Control“/platform/www/wsgi-bin/rm.wsgi”
PidFile/var/run/httpd.pid
与基于JFFS2的根文件系统相同的配置工作正常。
在我启动apache服务之前,
出口蟒蛇窝=/
sudo/usr/local/apache2/bin/restart.sh
其中restart.sh包含以下内容
/usr/local/apache2/bin/apachectl停止
rm-rf/var/run/httpd.pid
/usr/local/apache2/bin/apachectl启动

我的孩子也遇到了这种情况


我使用的是WSGI和WSGIPythonHome,但apache用户无法阅读该PythonHome。

是的,我也是。Apache是作为
守护进程
用户运行的,该用户无权访问Python主目录。