我正在扩展Cody Soyland关于gevent-socketio的博客文章中提出的想法:http://codysoyland.com/2011/feb/6/evented-django-part-one-socketio-and-gevent/
但我很难找到异常被吞噬的地方.在socketio循环期间发生的任何错误似乎消失,执行将停止.我已尝试使用python日志模块,如其他线程中有关mod_wsgi的建议,但无济于事.
有人可以帮忙吗?
我有一个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) 我正在使用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请求?
我刚刚开始使用协同程序,并阅读了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吗?
是否有可能使我的网络服务器在同一个域中运行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)
谢谢
我正在尝试为Bugzilla创建一个小型测试服务器,这样我就可以在将它们部署到基于Apache的主服务器之前测试我所做的更改.我最熟悉Python,我想让Python的内置HTTP服务器运行Bugzilla的CGI程序.
不幸的是,Bugzilla拥有的不仅仅是CGI应用程序.它有一堆css和其他直接提供的数据.这意味着处理程序也需要处理这些.我想设置一个WSGI处理程序,它查看请求URL并将请求适当地路由到任何一个Bugzilla CGI脚本或直接从文件系统中提取数据.
有没有更好的方法来完成我想做的事情?如果没有,是否已经有一个WSGI应用程序已经建立了一个CGI环境并通过Python subprocess模块调用CGI应用程序?
在尝试使用Apache + mod_wsgi运行Flask时,我已经尝试了很多事情以达到很高的挫败感.
基本上我已经完成了以下教程:
http://flask.pocoo.org/docs/deploying/mod_wsgi/#installing-mod-wsgi http://www.lonesomedev.com/?p=169
但在浏览器上我收到以下错误:
访问被禁止!
您无权访问请求的对象.它受读保护或服务器无法读取.
如果您认为这是服务器错误,请与网站管理员联系.
在Apache error.log中有以下内容:
[Fri May 03 17:17:06 2013] [错误] [client :: 1]客户端被服务器配置拒绝:/home/user1/Develop/flask_dbadmin.wsgi
我正在运行OpenSuse 11.4.
我已经为此工作了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.
我正在用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.
请帮忙
我有运行服务器的自定义设置的这个错误:
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)