标签: mod-wsgi

如何提高读取大文件并将其作为下载返回的python cgi的性能?

我有这个python cgi脚本,检查它是否从同一个IP多次访问,如果一切正常,读取一个大文件格式磁盘(11MB),然后将其作为下载返回.

它有效,但性能很糟糕.瓶颈似乎是一遍又一遍地读取这个巨大的文件:

def download_demo():
    """
    Returns the demo file
    """

    file = open(FILENAME, 'r')
    buff = file.read()

    print "Content-Type:application/x-download\nContent-Disposition:attachment;filename=%s\nContent-Length:%s\n\n%s" %    (os.path.split(FILENAME)[-1], len(buff), buff)
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它更快?我想过使用ram磁盘来保存文件,但必须有一些更好的解决方案.使用mod_wsgi而不是cgi脚本帮助?我能将大文件保存在apache的内存空间吗?

任何帮助是极大的赞赏.

python performance cgi mod-wsgi

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

找不到软件包libapache2-mod-wsgi

我已经在Django中开发了一个网站,现在它必须投入生产。我想用mod_wsgi和apache2做。不幸的是,在运行下一个命令时,出现错误“找不到软件包libapache2-mod-wsgi”:

sudo apt-get install libapache2-mod-wsgi
Run Code Online (Sandbox Code Playgroud)

我在ubuntu服务器kermic(9.10)上使用apache2。

我还将输入我的sources.list:

deb http://archive.ubuntu.com/ubuntu karmic main
deb http://security.ubuntu.com/ubuntu karmic-security main
Run Code Online (Sandbox Code Playgroud)

有人知道是什么问题吗?

django apt mod-wsgi apache2

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

WSGI模块导入错误困扰

我正在编写一个简单的Python wsgi应用程序,并且被模块导入错误所困扰。我在当前目录中有一个.py文件,该文件最初无法导入。通过添加

sys.path.insert(0,'/ Users / guhar / Sites / acom')

该模块的导入工作正常。但是我现在尝试导入通过easy_install安装的模块,但是导入失败。我尝试设置

sys.path.insert(0,'/Library/Python/2.5/site-packages/')

其中包含鸡蛋文件,但无济于事。我以为“ /Library/Python/2.5/site-packages/”下的所有软件包都可用于WSGI应用程序。

有人有指针吗?

python mod-wsgi wsgi

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

使用WSGI在Windows XAMPP中设置Python路径

我正在Webfaction上设置一个实时服务器的开发版本,在我的本地机器上运行Django应用程序(在没有任何错误的情况下运行) - XP,运行带有Python 2.6的XAMPP Lite - 我可以提交更改通过Git.

XAMPP启动并运行正常,并且服务器在加载WSGI模块时完美启动.问题是当我设置我的Python路径时,它们以'nix格式(带/)设置为一半,在Windows中设置一半(带反斜杠).

这是本地机器Apache错误,显示损坏的python路径:

[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] mod_wsgi (pid=1436): Exception occurred processing WSGI script 'C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/dev.wsgi'.
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] Traceback (most recent call last):
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1]   File "C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5\\django\\core\\handlers\\wsgi.py", line 230, in __call__
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1]     self.load_middleware()
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1]   File "C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5\\django\\core\\handlers\\base.py", line 42, in load_middleware
[Fri Oct 08 14:52:53 2010] …
Run Code Online (Sandbox Code Playgroud)

python apache xampp windows-xp mod-wsgi

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

Apache无法访问Django应用程序

所以这是设置:

如果我在设置文件的INSTALLED_APPS部分删除了应用程序(名称为myapp),整个站点工作正常我在apache2.conf中添加了WSGIPythonHome

我可以通过Django(python manage.py shell)中的交互式python shell成功访问应用程序.我可以创建,更新和删除数据.

我正在使用Ubuntu 10.04 Lucid Lynx的标准Apache 2设置(启用站点,启用mods,apache2.conf等)

我正在运行位于/ home/ygamretuta/dev/myproject的virtualenv

我的django项目位于/ home/ygamretuta/dev/site1

错误日志文件说明(最后2行):

File "/home/ygamretuta/dev/myproject/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module

TemplateSyntaxError: Caught ImportError while rendering: No module named myapp
Run Code Online (Sandbox Code Playgroud)

我的django.wsgi包含这个:

import os, sys
sys.path.append('/home/ygamretuta/dev')
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'

import django.core.handlers.wsgi

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

我的site1.com虚拟主机文件(包含在sites-available文件夹中)包含此文件(删除了其他详细信息):

WSGIDaemonProcess ygamretuta processes=2 maximum-requests=500 threads=1
WSGIProcessGroup ygamretuta
WSGIScriptAlias / /home/ygamretuta/dev/site1/apache/django.wsgi
Run Code Online (Sandbox Code Playgroud)

我能错过什么?如果自定义应用程序(我使用manage.py startapp制作的应用程序)未被注释掉,我将收到e 500内部服务器错误

python django mod-wsgi virtualenv

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

使用DotCloud使用apache + mod_wsgi + postgresql + nginx + memchache部署Django应用程序

我是django开发和整体Web应用程序开发的新手,但我是一名程序员.

我想知道在DotCloud上部署django应用程序的步骤是什么,它将在带有mod_wsgi的apache服务器上运行.Nginx将用于提供媒体文件,Postgresql将用于数据库.这将与memchache一起使用.

本教程:http://dev.lethain.com/the-django-and-ubuntu-intrepid-almanac/基本上做了我想要的,但我想弄清楚如何使用DotCloud.

我觉得Dotcloud文档不够完整,无法提供完成此操作的必要信息,所以希望有人会提供相关信息.

感谢您的帮助与合作.我很感激.

django postgresql mod-wsgi nginx dotcloud

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

WSGI加载了错误项目的设置:如何调试?

我在同一台服务器上有两个基于django的Web应用程序.其中一个我将调用CORRECT_PROJECT,另一个调用WRONG_PROJECT

最后一个CORRECT_PROJECT是使用虚拟环境安装的,并使用不同版本的django(1.4).有一个非常奇怪的问题:有时,通常在注销或电子邮件确认后(但有时看起来只是随机!),服务器返回500内部服务器错误,错误日志说

"无法导入设置'WRONG_PROJECT.settings'(是否在sys.path上?):没有模块名称WRONG_PROJECT.settings,请参阅:CORRECT_PROJECT/URL"

也就是说,通过加载CORRECT_PROJECT,有时系统(WSGI?Apache?Django?)会尝试从WRONG_PROJECT加载设置.

通过积极地点击刷新,错误消失.可能有什么不对?我怎么调试?

CORRECT_PROJECT在deamon模式下使用WSGI.

使用deamon模式:http://modwsgi.readthedocs.org/en/latest/configuration-directives/WSGIDaemonProcess.html

django mod-wsgi

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

如何让mod_rewrite与mod_wsgi一起玩得很好?

看起来mod_rewrite正在弄乱mod_wsgi的env变量(scumbag吃SCRIPT_NAME或其他东西).

只添加以下行:

RewriteEngine On
Run Code Online (Sandbox Code Playgroud)

到我的httpd.conf导致我的基于Django的网站出现问题.我的别名看起来像这样:

WSGIScriptAlias /prefix /path/to/my/wsgi.py
Run Code Online (Sandbox Code Playgroud)

现在两个网址:

example.com/prefix

example.com/prefix/

工作(有点......网站显示),但在前一种情况下(没有斜杠),所有网址都是由django错误生成的,例如:

example.com/some_url 代替

example.com/prefix/some_url

如果我注释掉#RewriteEngine On问题就消失了,但我需要mod_rewrite.我怎样才能解决这个问题?

提前致谢.

apache django mod-rewrite mod-wsgi

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

apache + wsgi + django:服务器配置拒绝客户端

我的django项目出现403错误.

我在错误日志中得到的唯一一行是:

AH01630: client denied by server configuration: /srv/http/www/src/myproject/preprod_wsgi.py
Run Code Online (Sandbox Code Playgroud)

该文件的权限是:

-rwxr-xr-x 1 root root  552 Jul 30 04:24 preprod_wsgi.py
Run Code Online (Sandbox Code Playgroud)

而apache(VERSION:2.4)conf文件包含(除其他外):

LoadModule wsgi_module modules/mod_wsgi.so

<IfModule unixd_module>
    User http
    Group http
</IfModule>

<Directory />
    AllowOverride none
    Require all denied
</Directory>

#
# Others
#

Alias /robots.txt /srv/http/www/htdocs/static/robots.txt
Alias /favicon.ico /srv/http/www/htdocs/static/favicon.ico


Alias /media/ /srv/http/www/htdocs/media/
Alias /static/ /srv/http/www/htdocs/static/


<Directory "/srv/http/www/htdocs/static">
           Require all granted
</Directory>

<Directory "/srv/http/www/htdocs/media">
           Require all granted
</Directory>

<Files "/srv/http/www/src/myproject/preprod_wsgi.py">
       Require all granted
</Files>

#
# WSGI
#

WSGIDaemonProcess myproject …
Run Code Online (Sandbox Code Playgroud)

python apache django mod-wsgi http-status-code-403

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

如何在mod_wsgi中使用uuid库?

这是回溯:

mod_wsgi: Target WSGI script '/[..]/project/wsgi.py' cannot be loaded as Python module.
mod_wsgi: Exception occurred processing WSGI script '/[..]/project/wsgi.py'.

Traceback (most recent call last):
   File "/home/ubuntu/api/api/wsgi.py", line 11, in <module>
     import uuid as uuid
   File "/home/ubuntu/.virtualenvs/api/lib/python3.4/site-packages/uuid.py", line 138
     if not 0 <= time_low < 1<<32L:
                                 ^
 SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

不知道问题出在哪里... uuid.py lib有错误吗?

python django mod-wsgi

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