2012-04-07 88 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