2012-04-07 131 views
0

IM Ubuntu的服務器上配置我的EC2實例(亞馬遜網絡服務),測試的Django(蟒蛇)配置WSGI蟒蛇

我已經安裝了Python和Apache服務器,

我有It works! [阿帕奇]頁面上我的URL地址,index.html的

現在即時通訊配置WSGI和mod_wsgi的[Python和Django的],

IM下面這個信息來配置WSGI:

deploy python wsgi app tutorial

,但是當我嘗試Basic Hello World WSGI Configuration

import os 
import sys 

sys.path.append('/srv/www/cucus/application') 

os.environ['PYTHON_EGG_CACHE'] = '/srv/www/cucus/.python-egg' 

def application(environ, start_response): 
    status = '200 OK' 
    output = 'Hello World!' 
    response_headers = [('Content-type', 'text/plain'), 
         ('Content-Length', str(len(output)))] 
    start_response(status, response_headers) 

    return [output] 

,去mysite的/應用/ application.wsgi

http://ec2-107-20-20-19.compute-1.amazonaws.com/cucus/application/application.wsgi

在我的瀏覽器, 我見該頁面的代碼,但不是ren成爲「你好世界」

我在想什麼?

我需要爲ubuntu配置虛擬主機嗎?即使即時只使用一個站點?

謝謝!

+0

爲什麼要在瀏覽器中訪問wsgi文件本身?這不是它的工作方式,否則所有的WSGI應用程序都會在它們的URL中擁有它。 – 2012-04-07 08:41:35

+0

@DanielRoseman,謝謝,這就是我的問題,爲什麼這個「application.wsgi」代碼爲hello world裏面?,用什麼網址來測試這個hello world?上面的代碼,謝謝! – MaKo 2012-04-07 08:46:35

+0

您似乎忽略了該教程中「配置Apache」部分。然後轉到正常的'/'(根)URL。 – 2012-04-07 09:05:22

回答

1

嘗試重新啓動Apache的,如果不工作,然後加倍您的Apache配置中要使用此行代碼LoadModule wsgi_module modules/mod_wsgi.so使mod_wsgi的以及WSGIScriptAlias//path/to/mysite/apache/django.wsgi

2

你需要你的輸出爲二進制。

變化

output = 'Hello World!'

output = b'Hello World!'

這裏是我創造了一些簡單的WSGI樣板代碼 - 顯示的你如何管理一個GET和POST請求。

https://github.com/blarking94/Python/blob/master/web_server_gateway_interface.py

+0

這不是原始人問題的答案。那時他們很可能使用Python 2,而不是Python 3,因此WSGI應用程序代碼會很好。 – 2018-01-25 03:22:11