2016-08-21 60 views
0

OS:寡婦2012r2Apache 2.4(32位)將目標WSGI腳本註釋爲Python模塊。 web.py

網站服務器:Apache 2.4.23(32位)

蟒蛇:2.7.12

web框架:web.py 0.38

的mod_wsgi:mod_wsgi的-4.4.23 + ap24vc9-cp27-cp27m-win32

我給apache服務器系統權限,所以權限的原因可以排除。

這整個過程是:HTTP->阿帕奇2.4-> mod_wsgi-> web.py

wsgi.conf:

WSGIScriptAlias/「C:/Apache24/htdocs/test.py/」

別名/靜態的 「C:/ Apache24/htdocs中/靜態/」 將AddType text/html的的.py

要求都否認 要求所有授予

=============================================== ==

的test.py:

編碼:UTF-8

導入Web

網址=( '/.*', '你好', )

class hello: def GET(self): return「Hello,world。」

應用程式= web.application(網址,全局(),自動重=假)

申請= app.wsgifunc()

=============== ==================================

然後,它的工作!我打開IE並鍵入url:localhost:80,頁面顯示:Hello,world。

基於上述,我改變wsgi.conf的代碼:

=========================== ======================

WSGIScriptAlias/「C:/Apache24/htdocs/code.py/」

別名/靜態「C :/ Apache24/htdocs/static /「 AddType text/html。PY

要求都否認 要求所有授予

================================ =================

而code.py:

編碼:UTF-8 config.url進口網址

導入Web

應用程式= web.application(網址,全局())

申請= app.wsgifunc()

====================== ===========================

然後阿帕奇仍然有效,

但error.log中顯示:「目標WSGI腳本'C:/Apache24/htdocs/code.py'不能作爲Python模塊加載。「

和URL:本地主機:80不能工作,顯示:「500內部服務器錯誤」

任何人都可以告訴你怎麼解決這個問題?非常感謝。

的error.log中:

[星期四02年8月25日:05:43.687446 2016] [WSGI:錯誤] [3780 PID:TID 1248] [客戶端192.168.1.107:61159] mod_wsgi的(PID = 3780) :目標WSGI腳本'C:/Apache24/htdocs/code.py'不能作爲Python模塊加載。我的電腦上出現了一個錯誤提示,提示您輸入錯誤代碼,然後重新啓動計算機,重新啓動計算機,然後重新啓動計算機,重新啓動計算機,重新啓動計算機,然後重新啓動計算機。 /Apache24/htdocs/code.py」。

[週四02年8月25日:05:43.687446 2016年] [WSGI:錯誤] [PID 3780:TID 1248] [客戶192.168.1.107:61159]回溯(最近通話最後一個):

[星期四八月25 02:05:43.687446 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61159]文件「C:/Apache24/htdocs/code.py」,line 5,in

[Thu Aug 25 02:05:43.687446 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61159] from config.url import urls

[Thu Aug 25 02:05:43.687446 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61159] ImportError:No mo名爲config.url的名字爲:config.url

[Thu Aug 25 02:05:43.859495 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61160] mod_wsgi(pid = 3780):Target WSGI script 'C:/Apache24/htdocs/code.py'不能作爲Python模塊加載。引用:192.168.1.146

[Thu Aug 25 02:05:43.859495 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61160] mod_wsgi(pid = 3780):處理WSGI腳本'C:/Apache24/htdocs/code.py',引用者:192.168.1.146

[Thu Aug 25 02 :05:43.859495 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61160] Traceback(最近一次調用最後一次):,referer:192.168.1。146

[Thu Aug 25 02:05:43.859495 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61160] File「C:/Apache24/htdocs/code.py」, line 5,in,referer:192.168.1.146

[Thu Aug 25 02:05:43.859495 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61160] from config.url import推薦人:192.168.1.146

[Thu Aug 25 02:05:43.859495 2016] [wsgi:error] [pid 3780:tid 1248] [client 192.168.1.107:61160] ImportError:No module named config.url ,referer:192.168.1.146

+0

請問您能正確格式化嗎? – manetsus

+0

在Apache錯誤日誌中的那一行之後,應該有一個Python堆棧跟蹤和異常詳細信息。那是什麼?您在錯誤的地方在Apache配置中輸入了尾部斜槓,但可以首先看到錯誤追蹤,因爲尾部斜槓可能是一個單獨的問題。 –

回答

0

包含的目錄程序包/模塊不在Python模塊搜索路徑中。您需要使用WSGIPythonPath指令來告訴由mod_wsgi運行的Python解釋器在哪裏。

+0

謝謝Graham Dumpleton。我遵循你的建議,並解決了這個問題。我的路徑信息添加到code.py,和它的作品: 進口OS 進口SYS sys.path.append( 'C:\ Apache24 \ htdocs目錄') 再次感謝 – xie

相關問題