标签: django

为什么我需要 Nginx 和 Gunicorn 之类的东西?

我正在寻找对以下问题的过于简化的答案。我试图建立对 Nginx 如何与 Gunicorn 之类的东西一起工作的基本理解。

我是否需要 Nginx 和 Gunicorn 之类的东西才能在 Nginx 上部署 Django 应用程序?

如果是这样,实际处理 HTTP 请求的是什么?

附言。我不想使用 Apache 和 mod_wsgi!

nginx django

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

为什么我有 uWSGI 还需要 nginx

关于在部署Django应用时如何配置nginx配合uWGSI的教程有很多。

但是为什么我需要在这个套件中使用 nginx?uWSGI 本身可以服务 WSGI Python 应用程序,可以服务静态文件,也可以做 SSL。nginx 可以做什么而 uWSGI 不能?

nginx django uwsgi

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

为什么我会收到 sqlite 错误,“无法打开数据库文件”?

使用我的 Django 应用程序,我可以很好地从数据库中读取数据。当应用程序没有访问文件的权限时,它给了我这个错误:

尝试写一个只读数据库

这是有道理的。所以我编辑了文件的权限,让Apache进程有写权限。但是,我收到了这个神秘的错误,而不是能够写入:

无法打开数据库文件

如果它有用,这里是整个输出:

Request Method: POST
Request URL:    http://home-sv-1/hellodjango1/polls/1/vote/
Exception Type: OperationalError
Exception Value:    
unable to open database file
Exception Location: /usr/lib/pymodules/python2.5/django/db/backends/sqlite3/base.py in execute, line 193
Python Executable:  /usr/bin/python
Python Version: 2.5.2
Python Path:    ['/var/www', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/pymodules/python2.5', '/usr/lib/pymodules/python2.5/gtk-2.0']
Server time:    Sun, 23 Aug 2009 07:06:08 -0500
Run Code Online (Sandbox Code Playgroud)

如果需要堆栈跟踪,请告诉我。

django sqlite

72
推荐指数
4
解决办法
25万
查看次数

为什么将 Nginx 设置为反向代理是个好主意?

我有一个在 Gunicorn 上运行的 Django 站点,通过 Nginx 使用反向代理。Nginx 不就是额外的不必要的开销吗?在 Gunicorn 之上添加它有什么帮助?

nginx web-server reverse-proxy django

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

修改 Python 脚本时如何使 uWSGI 重新启动?

不记得在哪里,但我读到 uWSGI 可以像 Django 开发服务器一样在修改项目脚本时重新加载自身。我在文档和互联网中都找不到。我怎样才能做到这一点?

我在我的工作机器上使用 Ubuntu 12.04,在舞台和生产服务器上使用 Debian Squeeze,Django 1.4 和 uWSGI 1.2。

django uwsgi

42
推荐指数
3
解决办法
4万
查看次数

通过 mod_wsgi 运行 Django 时,我应该在 WSGIDaemonProcess 中指定多少个进程?

假设我有 2 个站点(超级用户和 Serverfault)在一个机器上从他们自己的 Apache 虚拟主机运行。这两个站点由 Django 提供支持,并使用 mod-wsgi 在 Apache 上运行。站点之一的典型配置文件如下所示:

WSGIDaemonProcess serverfault.com user=www-data group=www-data processes=5
Run Code Online (Sandbox Code Playgroud)

主机是一台运行 Ubuntu 的具有 4GB RAM 的 linux 机器。任何人都可以建议我应该在上面为我的 2 个站点指定的进程数吗?假设它们与实际的超级用户和 Serverfault 站点具有相同的流量。

django mod-wsgi apache-2.2

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

Django:CONN_MAX_AGE 保持连接,但不与 PostgreSQL 重用它们

我有一个 Django 设置,在 Ubuntu 14.04 LTS 上使用 Django 1.6.7 和 Postgres 9.3。

在任何给定时间,该站点大约有 250 个同时连接到 PostgreSQL 数据库,该数据库是 2.5GHz 的四核 Xeon E5-2670,具有 16GB 的内存。该特定机器上全天的平均负载约为 20 到 30。

有时,我会在哨兵中收到有关数据库连接超时的电子邮件,我认为启用某种连接池将有助于缓解此问题,并稍微降低数据库的负载。

由于我们使用的是 Django 1.6,因此我们可以使用内置池。但是,当我将 CONN_MAX_AGE 设置为 10 秒或 60 秒时,同时连接的数量几乎立即跳到允许的最大设置(大约是我们通常看到的两倍),并且连接开始被拒绝。

所以,出现什么都原因,连接ARE坚持,但他们被重用。

这可能是什么原因?

附注。我们还使用带有 --worker-class=eventlet 的 gunicorn。也许这就是我们痛苦的根源?

postgresql django postgresql-9.3

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

为什么 Nginx 比 lighttpd 更受欢迎?

我想在生产中使用 Lighttpd 来为 Django 应用程序提供服务,但我发现最近 Nginx 越来越流行。这是为什么?我知道过去 Lighttpd 有内存泄漏,但现在不是修复了吗?他们确实有活跃的开发人员来解决这类问题,不是吗?
我有什么理由应该使用 Nginx 而不是 Lighty 吗?我知道 nginx 是一个很棒的服务器,但它真的那么好并且比 lighty 更好吗?

nginx lighttpd django

21
推荐指数
4
解决办法
5万
查看次数

哪个最适合 Django?Lighttpd 还是 Nginx?或者也许是别的什么?

根据您的经验,Lighttpd 和 Nginx 哪个更适合 Django?我都用过,几乎看不出有什么区别,它们工作得很好......是否有任何用例,其中一个比另一个表现得更好?回答时请同时考虑配置的简单性和效率。

我通常的设置是./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1通过 daemontools 或init.d脚本和 lighty/nginx 作为反向代理启动一个单独的 Django FCGI 进程(如 中)。

哦,如果您觉得其他一些 http 服务器比 Lighty 和 Nginx 更适合 Django,请不要犹豫,分享您的想法。

nginx lighttpd django

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

将 uWSGI 连接到 Ubuntu 16.04 上的 Django 和 nginx

我正在尝试按照本教程uWSGI使用Djangonginxon进行设置Ubuntu16.04

一切正常,直到我尝试执行此命令的最后一步(哦,讽刺的是...):

sudo service uwsgi start
Run Code Online (Sandbox Code Playgroud)

如果失败并出现以下错误:

启动 uwsgi.service 失败:未找到单元 uwsgi.service。

其他人似乎得到了类似的错误:

启动 uwsgi.service 失败:单元 uwsgi.service 加载失败:没有这样的文件或目录。

该问题似乎与 Ubuntu 的版本有关。虽然该教程针对的是 Ubuntu 14.04,但它似乎不适用于较新的版本,因为在 15 版中 Ubuntu 从upstartinit daemon切换到systemdinit daemon

如何使用systemduWSGI 启动 uWSGI 以便它与 nginx 和 Django 一起使用?

ubuntu nginx django wsgi uwsgi

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