0

私が持っている、このhttpd.conf

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.hello2.ch
    DocumentRoot /home/django_www/hello
    WSGIScriptAlias / /var/www/django_www/hardi/django.wsgi
    ErrorLog /var/www/django_www/hardi/error_log
    CustomLog /var/www/django_www/hardi/access_log common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/html
</VirtualHost>

vi / etc / hosts

127.0.0.1       localhost.localdomain localhost
128.178.131.89  www.hello2.ch
128.178.131.89  ohtersite.ch

python 2.5、mod_wsgi-2.5、/root/epd-5.1.0/lib/libpython2.5.so.1.0:インストール済み!

ldd /root/epd-5.1.0/bin/python

libpython2.5.so.1.0 => /root/epd-5.1.0/lib/libpython2.5.so.1.0 (0x00002b1bb7333000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003da0600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003d9fe00000)
libutil.so.1 => /lib64/libutil.so.1 (0x0000003dadc00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003da0200000)
libc.so.6 => /lib64/libc.so.6 (0x0000003d9fa00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d9f600000)

エコー$LD_LIBRARY_PATH

/root/epd-5.1.0/lib/

しかし、Webページを読み込もうとすると、次のerror_logが表示されます。

'import site' failed; use -v for traceback
[Wed Aug 29 11:52:57 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Aug 29 11:52:57 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Aug 29 11:52:57 2012] [notice] Digest: done
[Wed Aug 29 11:52:57 2012] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Wed Aug 29 11:52:57 2012] [notice] Apache/2.2.3 (Red Hat) configured -- resuming normal operations
[Wed Aug 29 11:55:00 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 11:58:30 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 12:01:58 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 12:05:30 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 12:09:00 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 12:12:29 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 12:14:06 2012] [error] [client 178.33.137.225] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
[Wed Aug 29 12:15:59 2012] [error] [client 66.249.72.187] Symbolic link not allowed or link target not accessible: /var/www/html/app/webroot/w3
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
....
'import site' failed; use -v for traceback
[Wed Aug 29 12:17:47 2012] [notice] caught SIGTERM, shutting down
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
[Wed Aug 29 12:17:47 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Aug 29 12:17:47 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Aug 29 12:17:47 2012] [notice] Digest: done
[Wed Aug 29 12:17:47 2012] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Wed Aug 29 12:17:47 2012] [notice] Apache/2.2.3 (Red Hat) configured -- resuming normal operations
[Wed Aug 29 12:18:01 2012] [error] Traceback (most recent call last):
[Wed Aug 29 12:18:01 2012] [error]   File "/var/www/django_www/hardi/django.wsgi", line 1, in <module>
[Wed Aug 29 12:18:01 2012] [error]     import os
[Wed Aug 29 12:18:01 2012] [error] ImportError: No module named os

Djangoをmod_wsgiで動作させる方法、および最初のVirtualHostエントリをwww.hello2.ch Webページおよび2番目のVirtualHostエントリの他のすべてのエントリと一致させる方法についてのアイデアはありますか?

4

2 に答える 2

1

mod_wsgi.so で「ldd」を実行します。

問題は、異なる Python バージョンを見つけている可能性があります。また、Python が標準の場所にないため、インストール場所がわからないことも考えられます。

後者の場合、VirtualHost の外側のグローバル スコープで、Apache 構成に追加します。

WSGIPythonHome /root/epd-5.1.0

この値は、実行時に Python から出力される sys.prefix の値に対応する必要があります。

import sys
print sys.prefix
于 2012-08-29T23:28:09.887 に答える
0

あなたが得たエラーに基づいて、いくつかのことが起こっているようです。ただし、これらすべてをコメントに入れるのではなく、先に進んで回答として投稿します。

私の django.wsgi ファイルには、PATH 環境変数を変更して、python が私の django プロジェクトからパッケージをインポートできるようにする次の 2 行があります。

import sys
sys.path.append('/path/to/mysite.com/app/mydjangoproject')

また、django を使用する予定のhttpd.conf内部に以下を追加することを確認する必要があります。VirtualHost

<Directory /path/to/mysite.com/app/mydjangoproject>
    Order allow,deny
    Allow from all
</Directory>

編集:

エラーメッセージに表示されるコメントに記載されているシンボリックリンクに関しては、どうすればよいかわかりません。DocumentRootの外部にあるリソースにApacheがアクセスできるようにするためにのみ使用しようとしている場合は、シンボリックリンクを含むOptions FollowSymLinksディレクティブを追加する必要がありますDirectory

于 2012-08-29T12:27:48.280 に答える