0

我在 ubuntu 服务器上配置我的 EC2 实例(亚马逊网络服务),以测试 django(python)

我安装了 python 和 apache 服务器,

我的 url 地址 index.html 上有It works![apache] 页面

现在我正在配置 wsgi 和 mod_wsgi [for python 和 django],

我按照这个信息来配置wsgi:

部署 python wsgi 应用教程

但是当我尝试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/application.wsgi

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

在我的浏览器中,我看到了页面的代码,但没有看到呈现的“hello world”

我错过了什么?

我需要为 ubuntu 配置虚拟主机吗?即使我只使用一个站点?

谢谢!

4

3 回答 3

2

你需要你的输出是二进制的。

改变

output = 'Hello World!'

output = b'Hello World!'

这是我创建的一些简单的 WSGI 样板代码 - 向您展示如何管理 GET 和 POST 请求。

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

于 2018-01-24T15:02:39.100 回答
1

您是否阅读过任何实际的 mod_wsgi 文档或观看有关它的演示文稿:

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

您要么从未设置过 WSGIScriptAlias,要么没有为 Apache 正确启用站点以读取它,或者没有重新启动 Apache。

于 2012-04-07T03:25:32.863 回答
1

如果这不起作用,请尝试重新启动 Apache,然后将您的 apache 配置加倍,您正在使用这行代码LoadModule wsgi_module modules/mod_wsgi.so以及启用 mod_wsgiWSGIScriptAlias / /path/to/mysite/apache/django.wsgi

于 2012-04-07T05:00:50.520 回答