我在Django中间件中设置了一些非caching头来控制xhr请求的caching。 主要是因为IE严重caching了Ajax请求。 class NeverCacheXhrMiddleware(object): """ sets no-cache headers for all xhr requests xhr requests must send the HTTP_X_REQUESTED_WITH header to be identified correctly as a xhr request using .is_ajax() see: http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across-all-browsers """ def process_response(self, request, response): if request.is_ajax(): #add_never_cache_headers(response) #patch_cache_control(response, no_cache=True) response['Cache-Control'] = 'no-cache, no-store, must-revalidate' response['Pragma'] = 'no-cache' response['Expires'] = '0' return response 当我在开发环境中仅使用Gunicorn部署我的应用程序时,这工作正常。 […]
我使用以皇帝模式运行的uwsgi在一台服务器上为多个Django应用程序提供服务。 因此,对于每个项目我都有一个像这样的自己的configuration文件: <uwsgi> <master>true</master> <processes>1</processes> <vaccum>true</vaccum> <chmod-socket>666</chmod-socket> <socket>/tmp/%n.sock</socket> <uid>www-data</uid> <gid>www-data</gid> <pythonpath>%d../%n</pythonpath> <module>%n</module> </uwsgi> 一切工作正常,关心我或我不完全理解的唯一事情是,当我运行“uwsgi –emperor / home / user / apps / vassals /”uwsgi时,我得到警告信息“ *警告:你以root身份运行uWSGI !!!(使用–uid标志)* “。 我可以忽略这个消息,还是这意味着uwsgi不考虑项目configuration文件中的uid gid设置? 非常感谢。 马里奥
我有一台服务器使用nginx(1.1.19)和uWSGI(0.9.8)服务多个Django站点。 uWSGI在VirtualHosting模式下运行,并按照文档中的说明dynamic加载应用程序: http ://projects.unbit.it/uwsgi/wiki/VirtualHosting 目前有5个Django站点在服务器上运行,像这样的nginxconfiguration: # /etc/nginx/sites-enabled/www.example.com server { listen xxx.xxx.xxx.xxx:80; server_name www.example.com example.com; if ($host != 'www.example.com' ) { rewrite ^/(.*)$ http://www.example.com/$1 permanent; } location / { uwsgi_pass 127.0.0.1:8000; include uwsgi_params; uwsgi_param UWSGI_CHDIR /var/www/www.example.com/wsgi; uwsgi_param UWSGI_SCRIPT production; uwsgi_param UWSGI_PYHOME /var/envs/www.example.com; } } 其他4个站点的configuration方式完全相同,用example.comreplace了真实域。 uWSGI使用以下选项运行: /usr/local/bin/uwsgi –socket $SOCKET –chmod-socket –master –harakiri $HARAKIRI –sharedarea $SHAREDAREA –processes […]
我有一个运行在基于Linux的服务器上的Django站点。 我的合作伙伴在Cisco路由器后面的IIS Windows服务器上运行SQL Server。 我们正在寻找Django站点连接到SQL服务器并与数据库交互的安全方式。 目前我们通过在cron作业中运行一个shell脚本来解决这个问题:使用vpnc启动VPN,2)运行python代码(pyodbc)并将结果写入sqlite数据库,3)断开VPN。 然后在Django代码中,我们访问sqlite数据库。 这个解决scheme看起来很呆板。 理想的方法是让pyodbc直接安全地连接到SQL Server。 任何人都知道如何做到这一点? 谢谢!
任何人都可以推荐一个很好的工具来parsing和分析Nginx的访问日志,这将基于正则expression式在我的django urls.py文件(或从他们生成的configuration文件)的URL组? 它不需要是实时的。 我主要关心的一个问题是查看“请求时间”,其中的url可能包含slugs或uuids,并可能包含复杂querystrings的各种网页。 例如:www.example.com/event/detail/my_event_uuid/?something=1234&somethingelse=abc 我的核心关注是我能够查看所有事件详细信息页面的汇总统计信息。 作为一个额外的奖励,我希望能够看到“somethingelse”在查询string中的所有事件详细页面。 其他注意事项:如果可能的话,轻量级,开源的,没有数据库表添加到Django的项目。
我认为这是iptables的问题..但似乎不是。 我真的不知道这种情况。 我得到一个服务器托pipe(CentOS)。 我安装了Nginx + Django,nginx使用8080端口。 域连接到服务器。 当我在服务器上执行“wget [domain]:8080 / [app name] /”时,它就起作用了。 当然,“wget 127.0.0.1:8080/[app name] /”没有问题。 (wget [server ip]:8080 / [app name] /,或者) 但是,从其他电脑连接失败。 (消息说,没有路线) 我检查了我的防火墙设置。 我执行了这些命令。 iptables -I INPUT -p tcp –dport 8080 -j ACCEPT iptables -I OUTPUT -p tcp –sport 8080 -j ACCEPT iptables -A RH-Firewall-1-INPUT -m state –state NEW -m tcp […]
我有兴趣通过snmp收集统计uWSGI在Cacti中的图表。 根据这些文档,我开始与uwsgi: uwsgi -s :3031 –udp 192.168.10.1:2222 –snmp –snmp-community foo –emperor /usr/local/uwsgi/vassals –emperor-tyrant –pidfile /var/run/uwsgi.pid –vacuum 他们提供的示例snmpget命令工作正常: $ snmpget -v2c -c foo 192.168.10.1:2222 1.3.6.1.4.1.35156.17.1.1 SNMPv2-SMI::enterprises.35156.17.1.1 = Counter64: 0 然而,除了那个之外,我看不到任何其他的snmp“价值”。 我不应该能够从基地OID snmpwalk? 当我试图看看什么值暴露,我得到一个超时。 snmpwalk -v2c -c foo 192.168.10.1:2222 1.3.6.1.4.1.35156.17 Timeout: No Response from 192.168.10.1:2222 从我引用的文档: 一般信息由uWSGI服务器本身pipe理。 访问uWSGI SNMP信息的基础OID是1.3.6.1.4.1.35156.17(iso.org.dod.internet.private.enterprise.unbit.uwsgi)。 常规选项映射到1.3.6.1.4.1.35156.17.1.x。 我一般不了解snmp,或者uWSGI提供snmp方式。 谢谢你的帮助。
我们的实验室对几个域名进行了半控制,从我们的“官方” example-lab.org到另外几个是我们大学子域名( example.school.edu )的域名。 我们正试图获得一个SSL证书,以允许encryption,因为我们有一个内部的部分在Django和Apache上运行的网站。 由于我们的官方域名实际上由第三方所有,因此获得证书是困难的。 但是,我们有一个为我们的学校子域。 我该如何设置Django / Apache重写( 这是正确的术语? )HTTP请求到我们想要的域名,HTTPS请求的实用名称与证书?
这个问题折磨了我好几天。 我在Raspberry Pi上使用Apache,WSGI和django。 操作系统是Raspbian。 除了apache的这个错误,一切都还好。 [error] [client 127.0.0.1] Target WSGI script not found or unable to stat: /home/pi/EZ_Green/apache/ems_gateway_django.wsgi 我的configuration文件是这样的,非常简单 WSGIDaemonProcess ems.ezgreenbuildings.com processes=1 maximum-requests=100 threads=10 WSGIScriptAlias / /home/pi/EZ_Green/apache/ems_gateway_django.wsgi 文件path肯定是完整的path。 所以文件存在。 然后我以为Apache服务器进程没有权限访问该文件,所以我改变了wsgi文件的模式为777.但它仍然报告相同的错误。 我search了一段时间,并尝试了几种方法。 移动wsgi文件到另一个foler,说'/ var / www',但它仍然找不到它。 尝试重新安装apache,不起作用。 删除尾部的斜线 奇怪的是,如果我删除了wsgiconfiguration文件,apache工作正常。 而且如果我运行django提供的testing服务器,django本身工作正常。 如果有人能帮忙,我会很高兴的。 谢谢!
我目前正在构build一个使用MySQL后端的Django应用程序。 传统上我使用VirtualEnv来安装python包,设置文件夹权限等。 从我通过研究发现的一些页面上,Google App Engine看起来并不像Django。 (许多事情build议使用Django-Nonrel,但我相信谷歌现在有Google Cloud SQL)。 这是我的问题: 1)Google App Engine是否支持使用MySQL的Django应用程序? (例如,Google云SQL是否与Django 本身兼容?) 2)Google是否允许您以VirtualEnv-ish方式安装python软件包? 如果没有,是否有安装软件包的替代方法? 3)与Linode等服务相比,他们是否有任何值得注意的限制? 最后,我知道这是非常主观的,但是你会推荐一个Django项目的GAE吗? 我喜欢Google广泛的服务器和安全性的想法。 数据复制总是一件好事,我只是想确保它是正确的道路。 谢谢!