gunicorn

如何使用 Gunicorn EC2 服务器在 Amazon Elastic Load Balancer 上使用 SSL?
gunicorn

如何使用 Gunicorn EC2 服务器在 Amazon Elastic Load Balancer 上使用 SSL?

我是一名自学成才的后端工程师,所以我在学习过程中一直在学习这些东西。长期以来,我一直为我的用户使用基本身份验证。 许多开发人员不建议采用这种方法,因为每个请求都将以明文形式包含用户名和密码。任何具备适当技能的人都可以嗅探我的 iOS 应用程序和我的 Django/Gunicorn 服务器之间的连接并获取他们的密码。 我不想让我的用户凭证面临风险,所以我想实施一种更安全的身份验证方式。 SSL 似乎是最可行的选择。我的服务器不提供任何静态内容或任何此类疯狂内容。服务器所做的只是从我的 iOS 应用程序发送和接收“json”响应。这是我当前的拓扑。 iO...

Admin

Gunicorn 错误:“打开文件进行读取时出错:权限被拒绝”
gunicorn

Gunicorn 错误:“打开文件进行读取时出错:权限被拒绝”

我在使用 gunicorn 运行 Django 应用程序时收到错误:当我发出超过 7800 字节的发布请求时,我看到 gunicorn 出现以下错误: "Error opening file for reading: Permission denied". 然后它丢弃请求并且 nginx 收到“对等方重置连接”错误。 如果我运行 Django 开发服务器,则不会发生这种情况。奇怪的是,如果我向无效 URL 发出请求,无论帖子内容长度如何,我都会得到标准的 Django 调试网页。 因此,这似乎是 gunicorn 处理 Django 在处理有效视图...

Admin

Nginx、Gunicorn 和 Django 的静态文件权限
gunicorn

Nginx、Gunicorn 和 Django 的静态文件权限

我尝试设置一个 Nginx 服务器,并在后面运行 Django 的 Gunicorn WSGI 服务器。 安装程序似乎全部运行,但我有一个权限问题。我已将别名设置为 /media 和 /static 目录以提供静态内容,但是除非文件归 nginx 用户所有,否则会生成 403 错误。 Gunicorn 用户上传的文件显然将归该特定用户所有,这将导致问题。我可以将 nginx 用户添加到 gunicorn 用户组,但我不想授予 nginx 对这些文件的全面权限。 建议通过 Gunicorn/Wsgi/Django 上传或生成文件的方法是什么,但允许 ng...

Admin

为了在 Gunicorn 前正确运行 Nginx,在同一台机器上运行它们是一个坏主意吗?
gunicorn

为了在 Gunicorn 前正确运行 Nginx,在同一台机器上运行它们是一个坏主意吗?

我正在使用 AWS,目前在运行 Gunicorn 的两个 EC2 机器前使用 ELB(用于负载平衡和 HTTPS 终止)。出于非常明确的原因(路由某些静态文件请求),我想在这些应用服务器前运行 Nginx。 我的问题是,理想情况下,我应该为 Nginx 单独配备一台机器吗?或者在这两个机器上都运行 Nginx,让 ELB 指向每个服务器的 Nginx 端口是否完全合理? 有哪些好处和坏处? ...

Admin

Nginx 未运行。未收到任何错误
gunicorn

Nginx 未运行。未收到任何错误

如果我运行: $ sudo service nginx status * nginx is not running 然后我运行: $ sudo service nginx start Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) ... nginx: [emerg] still c...

Admin

在 Ubuntu Web 服务器上存储安全密钥
gunicorn

在 Ubuntu Web 服务器上存储安全密钥

我正在运行带有 DUNG(Django、Unix、Nginx 和 Gunicorn)环境的 Ubuntu 12.04 Precise,并且我的应用程序(以及各种配置文件)存储在里面的 python 虚拟环境中/srv,www-data用户可以访问该环境。 nginx 和 gunicorn 进程都以 的形式运行www-data。 我的 Web 应用需要安全凭证,我将其存储在一个文件中。此文件包含各种导出,并在 gunicorn 进程执行之前environment.sh运行。source 我担心的是文件的位置及其权限。将此文件存储在有权访问的文件夹envi...

Admin

压力测试 Django 应用程序-如何提高吞吐量?
gunicorn

压力测试 Django 应用程序-如何提高吞吐量?

我第一次尝试对一个由 gunicorn 和 nginx 运行的简单 django web 应用程序进行压力测试,我将其放在一个 256MB 的小型 Rackspace 云服务器上。 使用 httperf,我增加每秒的连接数,直到开始出现错误,例如 httperf --hog --server=localhost --uri=/myapp --timeout=10 --num-conns=2500 --rate=25 我发现,对于 django 的一个简单几乎静态的页面,在开始引发错误之前,我可以获得大约 35 个请求/秒。 对于需要数据库查找和更多...

Admin

子目录中的 Django 和 Wordpress 的 NGinX 配置
gunicorn

子目录中的 Django 和 Wordpress 的 NGinX 配置

我需要在域的根目录下设置一个 Django 站点,然后在子目录中安装 Wordpress(例如 /blog/)。如何配置 NGinX 来实现这一点?“漂亮”URL 也必须适用于 Wordpress。 对于 Django,我使用的是已经配置好的 Gunicorn。从 NGinX,我将调用“proxy_pass”来指向它。PHP 通过 FPM 运行。 考虑到上述限制,我该如何配置 NGinX?如能得到任何帮助我将不胜感激! 谢谢。 更新:我尝试了几种方法,目前部分方法可行。我删除了所有 Django 配置。然后我在 /blog/ 子目录中找到了 Word...

Admin

ModuleNotFoundError:没有名为“gunicorn.myapp”的模块
gunicorn

ModuleNotFoundError:没有名为“gunicorn.myapp”的模块

我正在尝试使两个应用程序可在我的 LAN 服务器(raspberry pi)上访问。 实验室应用:这是一个非常简单的应用程序,使用第三方的 flask 制作,使用 sqlite3 数据库,结果是我的应用程序文件夹中的一个文件。它位于路径上/var/www/lab_app/,在内部端口 8080 和外部端口 80 上运行。 if __name__ == "__main__": app.run(host='0.0.0.0', port=8080) aqi_气象数据:一个更复杂的应用程...

Admin

更改所有端点上的服务器标头(Flask + Nginx + Gunicorn)
gunicorn

更改所有端点上的服务器标头(Flask + Nginx + Gunicorn)

我正在开发一个使用 gunicorn 和 nginx 的 Flask 应用程序,应该隐藏其服务器标头,因此我设法仅对主页执行此操作,如下所示: gunicorn.conf.py import gunicorn gunicorn.SERVER = '.' nginx.conf events { worker_connections 1024; } http{ include /etc/nginx/mime.types; # include /etc/nginx/conf.d/*.conf; server{ ...

Admin

Django + Nginx + Gunicorn-找不到静态文件
gunicorn

Django + Nginx + Gunicorn-找不到静态文件

我在 Ubuntu 22.04.4 服务器上使用 Django+Gunicorn+Nginx 来开发我的 Web 应用程序。我遵循本指南直到最后,我的网站仍在生产中运行。但是,静态文件不起作用(css、图像和 js),我觉得我已经尝试了一切。 仅当我在本地主机上运行激活了 Debug 的 django 开发服务器时,我的静态文件才有效。 我的项目位于 /home/user/visor/prod/visor_scs/。我的静态文件位于 /var/www/myweb.com/static/,我也尝试将它们放在 /home/user/visor/prod/viso...

Admin

Django:CONN_MAX_AGE 使用 gunicorn 的 gthread 工作类来持久连接
gunicorn

Django:CONN_MAX_AGE 使用 gunicorn 的 gthread 工作类来持久连接

我正在使用 Django,没有MAX_CONN_AGE设置(默认值 = 0),这导致在每个请求中创建连接,并且连接不会在 django ORM 中重用。 由于我的 api 被多次调用,这导致多个 postgres 连接,我想实现类似连接池或单例连接的东西,以便重用连接。 我在用gunicorn -k gthread --threads 2 --workers 4。 所以, 使用 gthread是否能MAX_CONN_AGE正常工作?连接将被重新使用并正确关闭?您能解释一下工作原理吗? MAX_CONN_AGE那么gevent 工作者类的行为会是怎样的? ...

Admin

为了在特定用户下运行 gunicorn,systemd 是否需要单元文件中的密码?
gunicorn

为了在特定用户下运行 gunicorn,systemd 是否需要单元文件中的密码?

我想在生产服务器上运行 gunicorn 作为服务,并查看了许多与此类似的 systemd 单元文件示例 Description=Gunicorn instance to serve application After=network.target [Service] User=backend Group=backend WorkingDirectory=/path/to/your/app Environment="PATH=/path/to/venv/bin" ExecStart=/path/to/venv/bin/gunicorn --workers ...

Admin

GKE Ingress 足以作为 gunicorn 的代理吗?
gunicorn

GKE Ingress 足以作为 gunicorn 的代理吗?

我在 GKE(Google Kubernetes Engine)容器中运行 Gunicorn 后面的 Python 应用程序。该应用程序位于 GKE Ingress(即 HTTP(S) 负载均衡器)后面。Gunicorn 文档称 我们强烈建议在代理服务器后使用 Gunicorn。 文档继续说,他们建议使用 Nginx 作为代理服务器。 我的问题是:鉴于我的应用程序已经位于 HTTP(S) 负载均衡器后面,添加额外的 Nginx 层有什么好处吗? ...

Admin

代理错误:/var/run/rpc/xmlrpc.sock(localhost)失败
gunicorn

代理错误:/var/run/rpc/xmlrpc.sock(localhost)失败

我正在继承这个托管在 EC2 实例上的旧 Django 项目。它曾经在 Heroku 上运行,并在 gunicorn 前面使用 Proximo 代理。现在它只运行一个包含以下内容的 systemd 脚本: ExecStart=/bin/sh -c "bin/proximo gunicorn myApp.wsgi --config config/gunicorn.cfg" 现在,在大多数情况下,该系统似乎是稳定的,但时不时地,我们会在网站上收到 503 错误,即使实例是重复的并且位于负载均衡器后面。 显示的唯一相关错误是在网站关闭时 Apache 错误日志中:...

Admin