Articles of django

Python Django的更好的Web服务器性能:Apache mod_wsgi或Lighttpd fastcgi

我目前正在使用Apache和mod_wsgi运行一个高stream量的python / django网站。 我希望有一个更快的networking服务器configuration,我已经听说了一些lighttpd和fastcgi的build议。 这个设置比apache + mod_wsgi为服务dynamicDjango页面更快(我已经确信lighttpd可以更好地服务于静态文件)? 网上的基准要么很差或不确定,所以我正在寻找一些个人轶事。 lighttpd + fastcgi提供什么架构好处? 我知道lighttpd使用epoll,并且fastcgi进程将是multithreading的。 另外,有两个独立的进程,一个用于lighttpd,另一个用于python解释器,将会非常有益。 我知道龙卷风和它使用epoll和callback处理成千上万的文件描述符的能力less得多。 不过,我宁愿现在坚持与Django。 谢谢, 肯

我应该使用哪个端口来从nginx到Apache 2的反向代理?

我有nginx设置为事实上的端口80 。 我想在Apache2上设置django + mod_wsgi。 我很担心,如果我离开Apache2为80会导致冲突。 避免头痛并将Apache更改为另一个端口更好吗? server { listen 80; server_name work.domain.org; access_log /www/work.domain.org/log/access.log; error_log /www/work.domain.org/log/error.log; location / { proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Magic-Header "secret"; client_max_body_size 10m; } }

ubuntu + nginx + uwsgi + django未findPython应用程序

我试图设置我的服务器与nginx的uwsgi到Django的堆栈,但我有uwsgi部分的问题。 当我运行uwsgi并传入命令行中的所有参数时,它可以正常工作。 我的uwsgi调用如下所示: uwsgi –socket /tmp/uwsgi.sock –chdir ~/web/test.com –wsgi-file ~/web/test.com/store/wsgi.py –virtualenv ~/web/test.com/testenv –chmod-socket=666 –enable-threads 然后我将这些参数复制到一个如下所示的ini文件中: # django.ini file [uwsgi] master = true socket = /tmp/uwsgi.sock chmod-socket = 666 chdir = /home/ubuntu/web/test.com wsgi_file = /home/ubuntu/web/test.com/store/wsgi.py virtualenv = /home/ubuntu/web/test.com/causumptionenv vacuum = true enable-threads = true 但是,当我运行与django.ini文件uwsgi,我得到这个输出。 [uWSGI] getting INI configuration from django.ini *** Starting uWSGI 1.9.11 (64bit) […]

Django:带有WSGI的Nginx或带有WSGI的Apache

有没有比较nginx和Apache之间交付pythonnetworking应用(Django在我的情况下)的性能(RPS,CPU,内存使用等)的研究? 有人可以用事实帮助我吗? 你会推荐哪种组合?

RHEL SELinux阻止Apache访问PostgreSQL

我正在运行使用PostgreSQL的Django应用程序。 服务器正在使用SELinux运行RHEL 6.5。 我遇到了Django应用程序无法连接到数据库的问题,我想这是因为SELinux阻止了它。 这是我在Django中看到的错误: could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 我怎样才能解决这个问题? 我遇到这个post ,但我不知道如何应用解决scheme( chcon -t postgresql_exec_t /path/to/pgbouncer )到我的问题。 谢谢! [编辑] 当我尝试访问网站时,以下是/var/log/audit/audit.log样子: type=AVC msg=audit(1396289984.549:9245): avc: denied { write } for pid=16975 comm="httpd" name=".s.PGSQL.5432" dev=sda1 ino=2359354 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:tmp_t:s0 tclass=sock_file type=SYSCALL msg=audit(1396289984.549:9245): arch=c000003e […]

configurationapache的〜125 django网站来优化内存使用(mod_python v mod_wsgi; worker vs prefork;静态文件)

我目前在GoDaddy的一个专用框上运行125个Django站点。 该网站是相对低stream量,我想知道我能做些什么来优化我的apacheconfiguration中的内存使用情况。 在将prefork指令调整为较低的MaxServer和MaxrequestsPerChild之前,该框会在大约5个小时的活动之后挂起。 我一直在search谷歌的答案,但我不能拿出任何明确的以下内容: 在多站点django安装中有没有mod_python vs mod_wsgi的参数 有没有一种方法来优化静态文件服务,以节省内存在Apache虚拟主机? (/ site_media / vs media.domain.com) 在多VirtualNameHost环境中prefork vs工作者和内存使用情况的参数是什么? 目前的configuration文件如下: <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/projectroot/django/chat/static ServerName domain.com ServerAlias www.domain.com Alias /media /usr/lib/python2.5/site-packages/django/contrib/admin/media ErrorLog logs/www.domain.com-error_log CustomLog logs/www.domain.com-access_log common <Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython PythonPath "['/var/www/domain/django'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE chat.settings_domain1 #chat is the name of the project all […]

用Django的Nginx fastcgi问题(url中的双斜杠?)

我正在部署我的第一个Django应用程序。 我熟悉nginx和fastcgi从部署php-fpm。 我不能让Python来识别这些url。 我也在如何进一步debugging这个问题。 我会很欢迎这个问题的解决scheme,并提供关于debuggingfastcgi问题的提示。 目前我得到一个404页面,无论url,并由于某种原因双斜杠对于http://www.site.com/admin/ Page not found (404) Request Method: GET Request URL: http://www.site.com/admin// 我的urls.py来自debugging输出 – 在dev服务器上工作。 Using the URLconf defined in ahrlty.urls, Django tried these URL patterns, in this order: ^listings/ ^admin/ ^accounts/login/$ ^accounts/logout/$ 我的nginxconfiguration server { listen 80; server_name beta.ahrlty.com; access_log /home/ahrlty/ahrlty/logs/access.log; error_log /home/ahrlty/ahrlty/logs/error.log; location /static/ { alias /home/ahrlty/ahrlty/ahrlty/static/; break; } […]

我怎样才能在同一台服务器上运行两个Django版本?

我有两个networking应用程序。 一个是使用Django 1.0开发的,另一个是使用Django 1.4开发的。 我如何使用两个版本的django在同一个apache2服务器上运行这两个应用程序? 有人告诉我一些关于virtualenv的…我正在使用mod_wsgi。 谢谢

Python,“你没有权限访问该端口”

我正在服务器上build立我的第一个Django项目 当我做python manage.py runserver .0.0.0.0:80 ,它告诉我 You don't have permission to access that port 。 当我做python manage.py runserver .0.0.0.0:8000它告诉我,该端口已被使用。 我试图运行一个LAMP堆栈。 我如何“获得许可”? 如何查看哪些进程打开了端口?

为子域问题设置CNAME

我会为此设置: 用户去test.example_site1.org test.example_org1.org它是test.example_org2.org的CNAME 用户将看到test.example_org2.org的页面 在example_org2.org服务器上使用nginx,我有3个django项目。 test.example_org2.org显示第三个django项目。 http://example_org2.org展示了第一个django项目。 问题是我已经在example_org1.org上设置了一个CNAME来指向test.example_org2.org,但是如果我尝试去http://test.example_org1.org,我会看到第一个 django项目,哪一个configuration到主域而不是子域。 否则,如果我直接去http://test.example_org2.org所有的工作,我看到我的正确的项目。 为什么这个问题?