在没有virtualenv的相当普通的FreeBSD系统上,我很难让uwsgi与Django一起工作。 试图运行会产生这个错误: Traceback (most recent call last): File "./myapp/wsgi.py", line 3, in <module> from django.core.wsgi import get_wsgi_application ImportError: No module named django.core.wsgi unable to load app 0 (mountpoint='') (callable not found or import error) myapp / wsgi.py不会从库存中修改。 我的ini文件: [uwsgi] chdir = /usr/local/www module = myapp.wsgi:application master = true processes = 1 socket = /var/run/django.sock pidfile […]
我试图设置我的Django应用程序与modwsgi在Apache下运行。 我已经定义了以下虚拟主机: <VirtualHost *> ServerName www.domain.com ServerAlias domain.com WSGIScriptAlias / /home/domain/apache/django.wsgi <Directory /home/domain/apache> Order deny,allow Allow from all Options -Indexes +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [QSA,L,R=301] </Directory> </VirtualHost> 最后的重写规则是使www.domain.com成为规范的站点名称。 虽然有一些错误 当我浏览到http://domain.com时 ,我被redirect到http://www.domain.com/django.wsgi/ 。 浏览> http://www.domain.com工作得很好。 我在configuration中丢失了什么? 谢谢。 更新:我改变了RewriteRule RewriteRule ^django.wsgi/(.*)$ domain.com/$1 [L,R=301]. 这个改变解决了这个问题。 如果有人能详细说明为什么/django.wsgi/部分在URL中结束,我将不胜感激。 谢谢!
我有一台运行Ubuntu Server 10.04LTS的虚拟机。 我的意图是这台机器像一个VPS一样工作,这样我就可以学习和准备当我得到一个VPS服务。 用于部署Django应用程序的Apache + mod_wsgi似乎是我的正确select。 我有域名(marianofalcon.com.ar),但没有别的,没有DNS。 问题是,我所有的部署东西都迷失了方向。 我知道如何configurationmod_wsgi(带有django.wsgi文件)和apache(创build一个VirtualHost)。 有东西丢失,我不知道它是什么。 我认为我缺乏networking技能,这是最大的问题。 尝试在虚拟机上托pipe应用程序会增加一些难度,因为我不太清楚要使用哪个IP。 这是我得到的: 文件放置在:/ etc / apache2 / sites-available: NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] ServerName www.my-domain.com ServerAlias my-domain.com Alias /media /path/to/my/project/media DocumentRoot /path/to/my/project WSGIScriptAlias / /path/to/your/project/apache/django.wsgi ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost> django.wsgi文件: import os, sys wsgi_dir = os.path.abspath(os.path.dirname(__file__)) project_dir = […]
我们正在运行更大的部署,在Apache2和mod_wsgi下运行多个服务器运行Django应用程序。 我们正在考虑切换到apache2 + fastcgi和移动fcgi进程分开应用程序服务器“层”。 我的问题是:如何在这些多个后端服务器之间做适当的负载平衡? 我最担心的是能够即时添加和删除服务器。
我们有很多networking应用程序/网站。 有些相当复杂,但其中很多是简单的网站。 目前我们使用nginx和uwsgi在单个专用服务器上托pipe10个站点。 虽然这是非常符合成本效益和维护费用less(因为我们需要每10个站点维护1台服务器),但它有一些我不喜欢的问题包括: 升级 – 说如果我想升级Postgres我需要担心10个网站,以及他们的configuration。 这使任何依赖性升级以及操作系统升级非常危险和复杂。 Python 3 – 我需要升级一个项目到Python 3.虽然virtualenv可能允许我升级而不影响系统的其余部分,但我不确定非python依赖关系。 操作系统问题 – 有时会出现奇怪的操作系统问题。 如果说有一个网站正在运行,我可以使用负载平衡器将stream量路由到单独的服务器,并在此处修复问题。 现在有10个站点,这也耗费时间。 所以我正在考虑如何解决这些问题。 我正在考虑的几个选项。 AWS – 在不同的实例上运行复杂的应用程序,使用RDS作为数据库。 通过这种方式,我们也可以单独扩展(或扩展)应用程序,而无需担心其他应用程序。 简单的网站可以托pipe在EC2或任何其他服务器上,因为它们很简单,不需要定期更新。 使用Docker在当前专用服务器中托pipe这些应用程序/站点以避免上述问题。 我是docker工人,因此我不能完全确定是否能解决上述问题。 AWS和Docker托pipePythonnetworking应用的经验是什么? 你如何主办大量的应用程序/网站(我相信机构和自由职业者的典型案例)?
我的mod_wsgi / django应用程序有或没有memcached内存中caching2秒的响应时间。 响应是相同的2s有或没有DNSparsing(即直接的IP请求) 为了进行比较,一个运行在APC上的mediawiki php程序运行的是一个类似于sub-second的响应。 机器没有内存不足,我可以告诉memcached占用了一些空间。 我已经看到相同的Django应用程序运行在另一台机器(其中我不幸的是知道一些细节,但它似乎在webfactional上运行)两倍更快我的机器是专用主机。 这里是我的apache指令来运行应用程序 <VirtualHost …:80> ServerAdmin … DocumentRoot … ServerName .. WSGIScriptAlias / /../wsgi-script.wsgi CustomLog … common ErrorLog /…/error_log DirectoryIndex index.html </VirtualHost> 编辑确定发现问题的来源 – wsgi 服务的静态文件 ,这是什么耗尽的performance。 静态内容的一些别名types指令修复了这个问题。
我的设置有点尴尬。 我有http://sub.main.com映射到我的服务器的IP,但不是http://main.com 。 我在我的服务器上运行两个站点(使用不同的Web框架)。 对于这些网站中的每一个,我都在默认站点中configuration了虚拟主机,这看起来像这样。 <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName "sub.main.com" DocumentRoot "/var/www" …. </VirtualHost> <VirtualHost *:80> ServerName appsphere.djangoserver Alias /media /srv/www/appsphere/media/ …… …… WSGIScriptAlias / /srv/www/appsphere/apache/django.wsgi </VirtualHost> 现在,我怎么能让我的第二个虚拟主机第一个虚拟主机的子目录/子域。 我想使用http://sub.main.com/appsphere访问第二个网站
我想通过与virtualenv的PuTTY安装MySQL-python。 眼镜。 *的CentOS-6.0 * python2.6的 所以我看了很多网站,我看到的最大的东西是python-dev,和python-devel(顺便说一句,我不知道区别)。 我无法安装这些,Sudo,yum,easy_install和pip是我所尝试过的。 我不是这个服务器的pipe理员,所以sudo和yum我不能执行。 我有pipe理员尝试安装到服务器分区。 python,我的virtualenv。 两人都说没有什么可做的。 这是我在尝试安装MySQL-python-1.2.3时得到的错误 _mysql.c:1928: error: â_mysql_ConnectionObjectâ has no member named âopenâ _mysql.c:1929: error: â_mysql_ConnectionObjectâ has no member named âconverterâ _mysql.c:1938: error: â_mysql_ResultObjectâ has no member named âresultâ _mysql.c: In function â_mysql_ConnectionObject_thread_idâ: _mysql.c:1967: error: â_mysql_ConnectionObjectâ has no member named âopenâ _mysql.c:1969: warning: implicit declaration of function âmysql_thread_idâ […]
注意 :我在StackOverflow上问了这个问题,但我意识到这可能是一个更合适的地方来问这样的问题。 我试图通过Djangopipe理应用上传一个名为“Testaråäö.txt”的文件。 我在Debian 6服务器上运行Django 1.3.1,使用Gunicorn 0.13.4和Nginx 0.7.6.7。 数据库是PostgreSQL 8.4.9。 其他的Unicode数据保存到数据库没有问题,所以我想这个问题必须以某种方式与文件系统。 我已经设定了 http { charset utf-8; } 在我的nginx.conf。 LC_ALL和LANG被设置为'sv_SE.UTF-8'。 运行“语言环境”validation这一点。 我甚至尝试在我的nginx初始化脚本中设置LC_ALL和LANG,以确保locale设置正确。 这是追溯: Traceback (most recent call last): File "/srv/.virtualenvs/letebo/lib/python2.6/site-packages/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/srv/.virtualenvs/letebo/lib/python2.6/site-packages/django/contrib/admin/options.py", line 307, in wrapper return self.admin_site.admin_view(view)(*args, **kwargs) File "/srv/.virtualenvs/letebo/lib/python2.6/site-packages/django/utils/decorators.py", line 93, in _wrapped_view response = […]
我公司在多台服务器上pipe理相当大量的生产服务器。 按照惯例,我们的生产服务器只允许从less数网关主机进行SSH访问。 这些Web服务器中的大多数都运行使用基于rsync的部署脚本在一个主网关主机上运行的PHP项目。 也就是说,我们正在使用Django构build一些大型应用程序,并希望使用Fabric来pipe理部署。 Fabric 还不支持SSH隧道,但似乎在其路线图中 。 我的select似乎是: 摒弃我们的网关 – 主机规则,倾向于遵循Django部署的最佳实践。 把我自己的Django部署脚本放在bash中,安装在我们的网关主机上,并从Fabric本地触发。 也许我在这里问了一个错误的问题,Fabric并不是正确的select,但感觉真的很自然,我想尽可能地使用它。