django - Django 生产站点在 3 周后持续下降
问题描述
我正在使用 Django、Gunicorn 和 Nginx 从 Digital Ocean 液滴上运行一个网站。该网站可以正常运行大约三周,然后随机停止将用户连接到该网页。当我在浏览器中访问网页时,它会返回:
无法访问此站点 ERR_CONNECTION_RESET
重新启动 droplet 可以解决问题,但它可能会在三周后再次发生。
当我检查 Gunicorn 工人时,它说它运行良好并且我的 Django 日志很干净。
Nginx 只报告了这个:
2019/08/31 23:11:56 [error] 28183#28183: *36352 open() "/home/projects/server/mysite/static/img/icon.jpg" failed (2: No such file or directory), client: 66.249.64.149, server: removedurl.com, request: "GET /static/img/icon.jpg HTTP/1.1", host: "removedurl.com.com"
似乎重新启动 Nginx 可以解决问题。
编辑:
我只记得我设置了一个更新 Letsencrypt SSL 证书的 crontab,这可能是问题所在。这是 crontab 命令:
0 0 1 * * /etc/init.d/nginx stop && /opt/letsencrypt/letsencrypt-auto renew && /etc/init.d/nginx restart
编辑2:
上面的命令不是解决这个问题的好方法,而是我删除了我原来的 letencrypt 认证,并使用了 Certbot 的 Nginx 网络服务器插件,它允许我通过我现有的网络服务器而不是 letencrypt --standalone 来更新认证。端口 80 上的新网络服务器(它不能)
解决方案
推荐阅读
- redis - 我可以在redis中创建一个类似“ID、KEY、DATA、STATUS、EMAIL”的结构的表吗
- typo3 - Typo3 9.5.3 站点管理无法开箱即用
- xml - 如何为移动应用程序制作本地存储存储文件
- java - 通知仅显示一次,此后不再显示
- mysql - MySQL 3表连接,一张表的计数和另一张表的最大时间戳
- highcharts - 是否可以绘制 Highcharts PlotBand 和/或 PlotLines 低于/高于 xAxis/top 刻度?
- javascript - 锁定 JavaScript 异步方法
- python - 如果输入了某个值,如何排除输入
- symfony - 不能公开访问对象属性?
- php - Laravel 5.6 从自定义路径而不是默认视图路径呈现邮件