我打算在docker中部署我的django应用程序。 这个应用程序使用PostgreSQL作为后端,所以我遇到了一个问题,什么是更好的部署scheme:两个docker容器 – 一个用于应用程序和一个数据库,或一个容器与一切? 我认为单独的容器更具可扩展性,因为我可以独立更改应用工作者数量,但是configurationDNS命名parsing并不如一个容器安全性更高?
我configuration我的Django 1.6框架发送错误报告到Gmail帐户,所以我可以检查他们。 在此之前,虽然我不得不定义filter来捕获发件人邮件地址我configuration为这些电子邮件报告被标记为“非垃圾邮件”和正确分类。 虽然我每次打开报告时都会出现一条消息,例如“这不是垃圾邮件”文件夹,因为您将其标记为“非垃圾邮件”。 …直到几天前。 报告停止到达。 我检查了/var/log/mail.log中的日志,发现这个: Our system has detected that this message is 550-5.7.1 likely unsolicited mail. To reduce the amount of spam sent to Gmail, 550-5.7.1 this message has been blocked. Please visit 550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for 550 5.7.1 more information. t17si11455054wiv.44 – gsmtp (in reply to end of DATA command)) 几乎所有的错误报告都被Gmail阻止,所以我参考了Google的“批量发件人指南”来尝试解决此问题。 我的邮件服务器使用一致的IP地址,并且域已经获得了正确的反向DNSlogging,但发件人地址可能会根据发生错误的子域更改(例如:[email protected],如果subdomain1抛出exception,或者[email protected]如果是子域2)。 […]
我们运行一个Python(Django)应用程序,将数据临时存储在Redis中。 有时,虽然数据在Redis中存储的时间已经过期,因此调用setex的过期时间<= 0。 有没有办法让Redis在没有公开抱怨的情况下悄悄丢弃这样一个setex命令: ResponseError: invalid expire time in setex 现在我不能从应用程序中做到这一点。
我想用nginx作为apache和gunicorn的反向工具 location /应该由apache处理 location /webapps/应该由gunicorn处理 upstream gfbu_app_server { server unix:/webapps/gfbu/run/gunicorn.sock fail_timeout=0; } server { listen 80; server_name eu-con.gfbu; client_max_body_size 4G; access_log /webapps/gfbu/logs/nginx-access.log; error_log /webapps/gfbu/logs/nginx-error.log; location /static/ { alias /webapps/gfbu/gfbu/static/; } location /media/ { alias /webapps/gfbu/gfbu/media/; } location /webapps/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://gfbu_app_server; break; } […]
我有一个域名,所以www.mysite.com运行应用程序Django。 在这个服务器上,我创build了一个WordPress的博客。 www.mysite.com/blog Nginx的Django应用程序: upstream django { server 127.0.0.1:8001; } server { listen 80; location /blog { proxy_pass http://127.0.0.1:8000; } } Nginx的WordPress的: server { listen: 8000; root /var/www/html/blog; index index.php; location / { try_files $uri $uri/ /index.php?$args; } [……] } 如果我inputwww.mysite.com/blog显示我的第404页。如果我键入www.mysite.com:8000显示我的索引WordPress。 我如何删除端口“:8000”的url,因此离开wwww.mysite.com/blog,并显示我的索引WordPress?
我有一个Django应用程序与postgres后端,我configurationgunicorn后面的nginx作为反向代理工作。 我的机器运行Ubuntu 14.04。 一切似乎都奏效了,除非我尝试login到我的应用程序时遇到了一个令人讨厌的错误: DatabaseError在/ login / inputinettypes的input语法无效:“”LINE 1:… 00101 Firefox / 41.0','2015-12-12 09:39:55.590036 + 00:00','') exception位置:/home/mhb11/.virtualenvs/redditpk/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py执行中,第54行 请注意,如果我单独使用Gunicorn,这个错误永远不会出现! 你能帮我解决这个问题吗? 我有几个念头: 1) inet数据types接受IPv4和IPv6主机和networking(但不包括域名)。 也许我应该改变我在/ etc / nginx / sites-available / myproject中使用的域名? 但我试过了; 我的网站根本无法加载(迄今为止它只在我尝试login后才失败)。 / etc / nginx / sites-available / myproject中的代码粘贴在下面。 2)不同的理论是这样的: 当我尝试login时,我的代码尝试添加一行到空的远程IP的日志表。 当我使用反向代理时,代码可能不知道远程IP,因为它被代理的IP所遮蔽。 由于它是空的,有可能代码试图忽略代理的IP,但没有find更好的。 因此,它应该使用X-Forwarded-For头 。 如果没有合理的IPlogging,程序应该简单地logging“NULL”作为IP。 为此,我在/ etc / nginx / sites-available / myproject中join了proxy_params […]
我正在本地机器上做这件事 tmux new -s amazon 然后我ssh到服务器进入tmux窗口 shh user@amazon 然后我分离它CTRL BD 进入fabfile.py我是这样做的 local("tmux a -t amazon") #attaching detached session local("./myscript") #problem here the tmux session pops on django runserver #and waits for input 问题:在Django dev服务器上popupTmux会话,并且不运行./myscript行并永远等待。 我做错了什么? 注意:./myscript驻留在远程服务器上
根据官方uWSGI文档:networking服务器面向外部世界。 它可以直接从文件系统提供文件(HTML,图像,CSS等)。 但是,它不能直接与Django应用程序进行对话; 它需要运行应用程序的东西,从Web客户端(如浏览器)提供请求并返回响应。 Web服务器网关接口 – WSGI – 完成这项工作。 WSGI是一个Python标准。uWSGI是一个WSGI实现。 这是否意味着如果我想在Web服务器上部署一个Django应用程序,uWSGI是必须的?
我正在尝试使用本教程: Digital Ocean,使用nginx和uwsgi部署一个djangonetworking应用程序。 我按照教程一步一步,这些是我的configuration文件: /etc/uwsgi/sites/picknbox.ini: [uwsgi] project = picknbox # Virtual environment name in home directory base = /home/picknbox # Home directory path chdir = /home/picknbox/picknbox/picknbox # Virtual Env Directory home = /home/picknbox/picknbox #Django Project Directory with manage.py$ module = picknbox.wsgi:application # project name master = true processes = 5 socket = /home/picknbox/picknbox/picknbox/picknbox.sock chmod-socket = […]
我已经使用python应用程序成功地configuration了LDAP,使用db/model.py这些语句: from gluon.contrib.login_methods.ldap_auth import ldap_auth auth.settings.login_methods = [ldap_auth(mode='ad', server='ldap.example.com', base_dn='dc=example,dc=com')] 我正在尝试与Django相同,但是我在网上看到的所有说明都相当复杂。 什么Django相当于我的web2py LDAP设置? 有没有简单的方法来debugging到Django服务器控制台的LDAP连接过程? 这是我所尝试的: import ldap from django_auth_ldap.config import LDAPSearch, GroupOfNamesType # LDAP Configuration AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com" AUTH_LDAP_BIND_DN = "" AUTH_LDAP_BIND_PASSWORD = "" AUTH_LDAP_USER_DN_TEMPLATE = "uid=%(user)s,ou=users,dc=example,dc=com" # group names: #AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=groups,dc=example,dc=com", # ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)" # ) #AUTH_LDAP_GROUP_TYPE = GroupOfNamesType() #AUTH_LDAP_FIND_GROUP_PERMS = True #AUTH_LDAP_CACHE_GROUPS […]