Eu tenho um servidor NGINX configurado para trabalhar com node.js, mas muitas vezes um arquivo de 1.03MB de js não é carregado por vários navegadores e vários pc

1

Estou usando isso em uma LAN local, então deve ser bem rápido.

O servidor nginx usa o servidor node.js para fornecer arquivos estáticos, portanto, ele deve passar pelo node.js para fazer o download dos arquivos, mas isso não é um problema quando não estou usando o nginx.

Eu fiz para tornar muito mais rápido, servindo os arquivos diretamente com o nginx, mas eu não acho que está tudo bem para configurar desta forma. Eu gostaria de ser node.js, que é o aplicativo em si para cuidar do que mostrar ...

No chrome com depurador, posso ver que o status é: 206 - conteúdo parcial e baixou apenas 31KB de 1,03MB. Após 1,1 min, ele fica vermelho e o status falha. Tempo de espera: 6ms Recebimento: 1,1 min

Os cabeçalhos no google chrom:

Request URL:http://192.168.1.16/production/assembly/script/production.js
Request Method:GET
Status Code:206 Partial Content
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:pt-PT,pt;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Cookie:connect.sid=s%3Abls2qobcCaJ%2FyBNZwedtDR9N.0vD4Fi03H1bEdCszGsxIjjK0lZIjJhLnToWKFVxZOiE
Host:192.168.1.16
If-Range:"1081715-1350053827000"
Range:bytes=16090-16090
Referer:http://192.168.1.16/production/assembly/
User-Agent:Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
Response Headersview source
Accept-Ranges:bytes
Cache-Control:public, max-age=0
Connection:keep-alive
Content-Length:1
Content-Range:bytes 16090-16090/1081715
Content-Type:application/javascript
Date:Mon, 15 Oct 2012 09:18:50 GMT
ETag:"1081715-1350053827000"
Last-Modified:Fri, 12 Oct 2012 14:57:07 GMT
Server:nginx/1.1.19
X-Powered-By:Express

Configurações do meu nginx:

Arquivo 1:

user totty;
worker_processes 4;
pid /var/run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # Logging Settings
    ##

    access_log /home/totty/web/production01_server/node_modules/production/_logs/_NGINX_access.txt;
    error_log /home/totty/web/production01_server/node_modules/production/_logs/_NGINX_error.txt;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # nginx-naxsi config
    ##
    # Uncomment it if you installed nginx-naxsi
    ##

    #include /etc/nginx/naxsi_core.rules;

    ##
    # nginx-passenger config
    ##
    # Uncomment it if you installed nginx-passenger
    ##

    #passenger_root /usr;
    #passenger_ruby /usr/bin/ruby;

    ##
    # Virtual Host Configs
    ##
    autoindex on;
    include /home/totty/web/production01_server/_deployment/nginxConfigs/server/*;
}

Arquivo incluído no arquivo anterior:

server {
    # custom location for entry
    # using only "/" instead of "/production/assembly" it
    # would allow you to go to "thatip/". In this way
    # we are limiting to "thatip/production/assembly/"
    location /production/assembly/ {
        # ip and port used in node.js
        proxy_pass          http://127.0.0.1:3000/;
    }

    location /production/assembly.mongo/ {
        proxy_pass      http://127.0.0.1:9000/;
        proxy_redirect      off;
    }

    location /production/assembly.logs/ {
        autoindex on;
        alias          /home/totty/web/production01_server/node_modules/production/_logs/;
    }


}
    
por Totty.js 15.10.2012 / 11:22

1 resposta

0

Ok, o problema é que os arquivos estáticos devem ser servidores com nginx porque node.js não é bom para servidores grandes arquivos estáticos.

    
por 03.08.2014 / 23:42

Tags