2012-08-22 39 views
1

我試圖加載wsgi_module到httpd.conf文件/紅帽:mod_wsgi的,Django的,阿帕奇:未能加載「mod_wsgi.so」模塊在httpd.conf

... 
    LoadModule wsgi_module modules/mod_wsgi.so 

但是,當我重新啓動服務器我得到的followeing錯誤:

Starting httpd: httpd: Syntax error on line 201 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_wsgi.so into server: libpython2.5.so: cannot open shared object file: No such file or directory 

這很奇怪,因爲文件和目錄存在.. 任何想法?

+0

是正確的權限? – RickyA

+0

您打算獲得「mod_wsgi.so」的許可? – Kreshnik

+0

mod_wsgi.so的權限爲755. – Kreshnik

回答

2

您的mod_wsgi副本是針對不同於您擁有的python版本編譯的。看起來它正在尋找Python版本2.5。如果你在你的系統上運行python -V,看看你已經安裝了什麼版本,並嘗試找到一個針對該版本構建的mod_wsgi(python將輸出類似2.7.3,這將是python 2.7)。

這是要麼你的副本libpython2.5.so不在Apache的庫路徑。你可以嘗試將它鏈接到apache庫路徑中的一個lib目錄,或者你可以添加libpython2.5.so所在的目錄,並將它添加到apache的庫路徑中。這serverfault question有幾個答案,可以幫助你設置。

另一個很好的參考: Python executable not finding libpython shared library

+0

使用Fabric來部署django是個好主意嗎? – Kreshnik

+0

我已經設置了$ PATH,但也有同樣的問題..! – Kreshnik

+0

問題解決了:我重新安裝了mod_wsgi 2.0(之前我有3.x),它可以正常工作:Apache 2.2.2和Python 2.5 – Kreshnik