标签: wsgi

Django:使用gevent-socketio和WSGIHandler时捕获/记录异常

我正在扩展Cody Soyland关于gevent-socketio的博客文章中提出的想法:http://codysoyland.com/2011/feb/6/evented-django-part-one-socketio-and-gevent/

但我很难找到异常被吞噬的地方.在socketio循环期间发生的任何错误似乎消失,执行将停止.我已尝试使用python日志模块,如其他线程中有关mod_wsgi的建议,但无济于事.

有人可以帮忙吗?

python django wsgi gevent

3
推荐指数
1
解决办法
547
查看次数

Django:只有空白页面

我有一个Apache服务器,我想开始用Django编写的网站.我用户mod_wsgi.现在我做好了准备.但是服务器的响应是空的.而在错误日志中,什么也没有.你知道为什么吗?

如果某个文件可以提供帮助(*.wsgi,settings.py),我会附加它.

Prochazky.wsgi

import os
import sys
import site

os.environ['PYTHON_EGG_CACHE'] = '/home/prochazky/venv/.python-eggs'

site.addsitedir('/home/prochazky/venv/lib/python2.6/site-packages')

os.environ['DJANGO_SETTINGS_MODULE'] = 'Prochazky.settings'

sys.path.append('/home/prochazky/')
sys.path.append('/home/prochazky/Prochazky/')

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)

Apache vhost:

<VirtualHost *:80>
    WSGIScriptAlias / /home/prochazky/Prochazky/Prochazky.wsgi
    ServerName testing.prochazky.net
    DocumentRoot /home/prochazky

    ErrorLog /home/prochazky/wsgi.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

python apache django wsgi response

3
推荐指数
1
解决办法
1963
查看次数

如何使用WebOb构建文件上载POST HTTP请求?

我正在使用Ian Bicking的WebOb来编写Python Web应用程序测试.我调用webob.Request.blank('/path...'),然后使用生成的请求对象的get_response(app)方法来调用我的Web应用程序.返回的响应对象允许我检查HTTP响应的状态代码,内容类型,正文等.构建POST请求也很容易:

Request.blank('/path/under/test/', POST={'query': 'some text'})
Run Code Online (Sandbox Code Playgroud)

但现在我遇到了一个难题:我需要在我的Web应用程序中测试一个期望文件上传的视图,而我无法弄清楚WebOb如何代表特定类型的POST.有谁知道如何构建一个带有一个或多个文件上传字段的WebOb请求?

python testing wsgi http webob

3
推荐指数
1
解决办法
1329
查看次数

使用Gevent和WSGI阻止调用

我刚刚开始使用协同程序,并阅读了gevent和greenlets.对于测试,我通过gevents pywsgi模块提供了此代码:

from gevent.pywsgi import WSGIServer
import gevent

def hello_world(env, start_response):
    gevent.sleep(5)
    start_response('200 OK', [('Content-Type', 'text/html')])
    return ["<b>hello world</b>"]

print 'Serving on 8088...'
WSGIServer(('127.0.0.1', 8888), hello_world).serve_forever()
Run Code Online (Sandbox Code Playgroud)

我期望一个结果,每个请求在显示文本之前会有5秒的延迟.然而,发生的是每个请求都通过调用gevent.sleep()排队等候,如果第二个请求在第一个请求之后立即启动,则会使第二个请求花费大约10秒.

serve_forever函数不是为每个请求生成新的greenlets吗?

wsgi blocking coroutine gevent

3
推荐指数
1
解决办法
1321
查看次数

Apache mod_wsgi和php在同一个域中

是否有可能使我的网络服务器在同一个域中运行python和php?

我在python/django有一个网站www.mydomain.com.

现在,我必须在wordpress的www.mydomain.com/blog上主持一个博客.

我可以通过吗?

Apache 2.2 mod_wsgi

我的配置现在:

# RUNS PYTHON
<VirtualHost *:80>
    DocumentRoot /home/padrao
    ErrorLog /home/padrao/logs/mydomain.com-error_log
    CustomLog /home/padrao/logs/mydomain.com-access_log common
    WSGIScriptAlias / /home/padrao/mywebsite.wsgi
</VirtualHost>

# RUNS PHP
<VirtualHost *:80>
    ServerName cloud.mydomain.com
    ServerAdmin postmaster@mydomain.com
    DocumentRoot /home/padrao/www
    ErrorLog logs/mydomain.com-error_log
    CustomLog logs/mydomain.com-access_log combined

    <Directory /home/padrao/www>
      php_admin_value open_basedir "/home/padrao/www"
      php_admin_value upload_tmp_dir "/tmp"
    </Directory>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

谢谢

python apache mod-wsgi wsgi mod-php

3
推荐指数
1
解决办法
2899
查看次数

如何从WSGI处理程序启动CGI脚本?

我正在尝试为Bugzilla创建一个小型测试服务器,这样我就可以在将它们部署到基于Apache的主服务器之前测试我所做的更改.我最熟悉Python,我想让Python的内置HTTP服务器运行Bugzilla的CGI程序.

不幸的是,Bugzilla拥有的不仅仅是CGI应用程序.它有一堆css和其他直接提供的数据.这意味着处理程序也需要处理这些.我想设置一个WSGI处理程序,它查看请求URL并将请求适当地路由到任何一个Bugzilla CGI脚本或直接从文件系统中提取数据.

有没有更好的方法来完成我想做的事情?如果没有,是否已经有一个WSGI应用程序已经建立了一个CGI环境并通过Python subprocess模块调用CGI应用程序?

python bugzilla cgi wsgi

3
推荐指数
1
解决办法
560
查看次数

Flask + mod_wsgi:服务器配置拒绝客户端

在尝试使用Apache + mod_wsgi运行Flask时,我已经尝试了很多事情以达到很高的挫败感.

基本上我已经完成了以下教程:

http://flask.pocoo.org/docs/deploying/mod_wsgi/#installing-mod-wsgi http://www.lonesomedev.com/?p=169

但在浏览器上我收到以下错误:


访问被禁止!

您无权访问请求的对象.它受读保护或服务器无法读取.

如果您认为这是服务器错误,请与网站管理员联系.

错误403

在Apache error.log中有以下内容:

[Fri May 03 17:17:06 2013] [错误] [client :: 1]客户端被服务器配置拒绝:/home/user1/Develop/flask_dbadmin.wsgi


我正在运行OpenSuse 11.4.

python apache mod-wsgi wsgi flask

3
推荐指数
2
解决办法
8842
查看次数

ImportError:无法导入名称'app'

我已经为此工作了5个多小时,看起来应该很简单.我按照说明通过mod_wsgi在apache上设置了一个烧瓶应用程序,在完成它们后,我收到一个错误

ImportError: cannot import name 'app'
Run Code Online (Sandbox Code Playgroud)

从行:

from web_tool import app as application
Run Code Online (Sandbox Code Playgroud)

我的wsgi文件名为web_tool.wsgi,看起来像:

import sys  
sys.path.insert(0, "/path/web_tool/src/")
print(sys.version)
print(sys.path)

from web_tool import app as application
Run Code Online (Sandbox Code Playgroud)

我的python版本和系统路径至少是正确的,所以我相信.

然后我的虚拟主机文件存储在apache2/sites-available/default中,如下所示:

WSGIPythonHome /usr/local/opt/python-3.4.1

<VirtualHost *:4000>

    ServerName my.servername.com
    WSGIDaemonProcess web_tool user=my_username group=my_group threads=5
    WSGIScriptAlias / /path/web_tool/src/web_tool/web_tool.wsgi
    WSGIApplicationGroup %{GLOBAL}

    <Directory /path/web_tool/src/web_tool/>
        WSGIProcessGroup cnt_tool
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果我的wsgi文件与我的python文件一样被调用,你会看到任何错误吗?我正在运行python 3.4和mod_wsgi 3.4.

python apache mod-wsgi wsgi

3
推荐指数
1
解决办法
2万
查看次数

允许逐跳标头Django

我正在用Django 1.6和Python 3.4编写一个演示代理服务器.当响应具有此标头时,我收到错误:

Transfer-Encoding=chunked
Run Code Online (Sandbox Code Playgroud)

错误是:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
    return self.application(environ, start_response)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/handlers/wsgi.py", line 214, in __call__
    start_response(force_str(status), response_headers)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/wsgiref/handlers.py", line 236, in start_response
    assert not is_hop_by_hop(name),"Hop-by-hop headers not allowed"
AssertionError: Hop-by-hop headers not allowed
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题:在Django代理中间件中允许逐跳头,但看起来像Django 1.6没有basehttp._hop_headers.

我运行服务器python3.4 manage.py runserver.

请帮忙

python django wsgi chunked

3
推荐指数
1
解决办法
2436
查看次数

django 1.10中的自定义设置和wsgi给了我错误

我有运行服务器的自定义设置的这个错误:

 salahaddin@TulipanROG ? ~/Proyectos/tiempoturco/tiempoturco ? (tiempoturco) ? ./manage.py runserver                                                                                                                                           ? ? ? 640 ? 23:22:06 
Performing system checks...

System check identified no issues (0 silenced).
June 19, 2016 - 23:22:07
Django version 1.10a1, using settings 'tiempoturco.settings.dev'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f288d67f2f0>
Traceback (most recent call last):
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 142, in inner_run
    handler = self.get_handler(*args, **options)
  File …
Run Code Online (Sandbox Code Playgroud)

python django wsgi

3
推荐指数
2
解决办法
4399
查看次数

标签 统计

wsgi ×10

python ×9

apache ×4

django ×4

mod-wsgi ×3

gevent ×2

blocking ×1

bugzilla ×1

cgi ×1

chunked ×1

coroutine ×1

flask ×1

http ×1

mod-php ×1

response ×1

testing ×1

webob ×1