djagno中的nginx坏网关502

时间:2015-08-11 06:24:43

标签: python django sockets nginx amazon-s3

我在ubuntu 14.04上使用Nginx,gunicorn和supervisor配置了一个django开发的站点,它完美地运行了2年多,没有任何响应和请求的延迟。

  1. 在我的网站中,我有一个脚本/管理命令,它接受数据库转储并推送到s3到cron作业,在代码停止工作前几天开始向我发送错误socket.error: [Errno 104] Connection reset by peer并且我发布了完整的追溯here但是不能得到任何回应,所以开始谷歌搜索,我得看到这个post,所以做了如同描述的改变,以摆脱{{1提到将以下行添加到socket.error: [Errno 104] Connection reset by peer

    的错误

    其他ppl设备中TCP窗口缩放错误的解决方法

    net.ipv4.tcp_wmem = 4096 16384 512000

    net.ipv4.tcp_rmem = 4096 87380 512000

  2. 我添加了它们并尝试运行/etc/sysctl.conf,之后执行dbbackup / s3上传命令$ sudo sysctl -p但仍然面临相同的python manage.py db_backup错误,因此还原/删除了更改(删除了socket.error: [Errno 104] Connection reset by peer中的上述添加的行,然后重新运行命令/etc/sysctl.conf,这样我就可以恢复之前的更改。

    1. 也在我的nginx配置

      ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #SSLv2

    2. 我读了一些从上面设置ssl_protocols中移除$ sudo sysctl -p将解决TLSv1问题的地方,所以我删除了它并重新启动了nginx服务器,现在尝试运行db_backup管理命令它似乎正在工作,但我添加回socket.error: [Errno 104] Connection reset by peer来设置ssl_protocols只是为了确保并与其他人确认

      现在实际问题是在完成上述更改并恢复并重新启动主管后,nginx我的网站变得该死的慢了

      我在网站上有不同的部分,如

      1. 首页
      2. 联系我们
      3. 显示/列出从postgres数据库获取的记录列表的许多页面
      4. 主页和联系我们页面正常工作,但与数据库提取相关的页面甚至在3分钟后仍无法加载并显示TLSv1

        我尝试了重启postgres,nginx,supervisor等所有内容,并仔细检查了文件502 Bad Gateway nginx/1.4.6 (Ubuntu)以确保它没有任何新的更改。一切似乎都很完美,但却无法理解为什么网站变得缓慢

        Nginx和gunicorn文件

        /etc/sysctl.conf

        Gunicorn

        server {
          listen 80;
          server_name  example.com  www.example.com  m.example.com;
        
          location / {
            return 301    https://www.example.com$request_uri;
        #    proxy_pass http://127.0.0.1:8001;
          }
        
          location /static/ {
            alias /user/apps/example_webapp/project/new_media/;
          }
        
        }
        
        server {
            listen 443 ssl;
            server_name  example.com  www.example.com  m.example.com;
        
            ssl_certificate      /etc/ssl/example/example.com.chained.crt;
            ssl_certificate_key  /etc/ssl/example/www.example.com.key;
            ssl_session_timeout  20m;
            ssl_session_cache    shared:SSL:10m;  # ~ 40,000 sessions
            ssl_protocols        TLSv1 TLSv1.1 TLSv1.2; # SSLv2
        #    ssl_ciphers          ALL:!aNull:!eNull:!SSLv2:!kEDH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+EXP:@STRENGTH;
            ssl_ciphers          HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers on;
            client_max_body_size 20M;
        
            location / {
                proxy_pass http://127.0.0.1:8001;
                proxy_connect_timeout 300s;
                proxy_read_timeout 300s;
            }
        
          location /static/ {
            alias /user/apps/example_webapp/project/new_media/;
          }
        
        }
        

        所以有人可以告诉我如何将我的网站恢复到原始状态吗?还有什么可能是没有任何理由突然放慢的原因?我应该在哪里检查任何帮助或错误?

0 个答案:

没有答案