ฉันกำลังพยายามโฮสต์แอปพลิเคชัน WSGI (เขียนด้วย webpy โฮสต์บน Apache) บนเซิร์ฟเวอร์ Ubuntu เมื่อใดก็ตามที่ฉันเรียกใช้แอปพลิเคชัน การตอบสนอง JSON จะถูกดาวน์โหลดแทนที่จะแสดงในเบราว์เซอร์ แอปพลิเคชันเดียวกันนี้ทำงานได้ดีบน localhost นี่คือโค้ดของแอปพลิเคชัน WSGI (นำมาจาก http://library.linode.com/frameworks/webpy/ubuntu-10.04-lucid) -
import web
import os
import sys
app_path = os.path.dirname(__file__)
sys.path.append(app_path)
os.chdir(app_path)
urls = ('/(.*)', 'hello')
web.debug = False # You may wish to place this in a config file
app = web.application(urls, globals(), autoreload=False)
application = app.wsgifunc() # needed for running with apache as wsgi
class hello:
def GET(self, name):
if not name:
name = 'World'
return 'Hello, ' + name + '!'
if __name__ == "__main__":
app.run()
การตั้งค่าการกำหนดค่า Apache ของฉันคือ -
WSGIScriptAlias /project /var/www/mywebsite.com/htdocs/project/main.py
<Directory /var/www/mywebsite.com/htdocs/project>
Order deny,allow
Allow from all
SetHandler wsgi-script
Options ExecCGI
</Directory>
เมื่อมาจากเบราว์เซอร์ ฉันจะไปที่ www.mywebsite.com/project/ จากนั้นจะมีไฟล์ที่มีข้อความ "Hello, World!" เขียนไว้ในนั้นจะถูกดาวน์โหลด
อย่างไรก็ตาม เมื่อฉันไปที่ www.mywebsite.com/project ฉันได้รับข้อความ "ไม่พบ"