2013-04-30 132 views
2

我想使用基於squashfs的rootfs來運行Apache服務器。當我嘗試連接到服務器時,我看到在/ var以下/日誌/ apache2_error_logsApache服務器「ImportError:No module named site」

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的就到了,但是Ialso見解散proceses我不明白。

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 

回答

2

這happend我了。

我正在使用WSGI和WSGIPythonHome,但是PythonHome對於apache用戶不可讀。

+0

對我來說也一樣。 Apache作爲無法訪問Python主目錄的daemon用戶運行。 – 2016-01-22 12:30:47

相關問題