V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
BOOM
V2EX  ›  NGINX

Gzip 搞死我了。。。

  •  
  •   BOOM · 2014-07-20 12:16:12 +08:00 · 6995 次点击
    这是一个创建于 3779 天前的主题,其中的信息可能已经有所发展或是发生改变。
    两个都是Wordpress网站,搭建方式基本是一样的.
    主题和部分插件略有不同,然后都装了Wordpress Super Cache.
    其中一个网站A开启了 压缩页面以便让来访者更快浏览 且成功将40K的网站压缩到了10K.
    另一个网站B也试图开启同样的功能,结果却出现330错误,查了PHP错误日志,没有相关信息,再查了一些别的,说是Gzip错误。。。
    去 tool.chinaz.com/gzips/ 查看了出现330错误的B网站,说其开启了Gzip并且已经将页面压缩到了11K,但是去17ce测了一下B网站,Get的数据依旧是40K+
    就是想问问,这大概是什么问题。。毫无头绪,如果要解决,该从哪几个方面下手。
    谢谢
    30 条回复    2014-07-23 17:21:41 +08:00
    wy315700
        1
    wy315700  
       2014-07-20 12:20:04 +08:00
    Super Cache 里把gzip选项关掉

    然后在apache的设置文件里打开gzip 看看
    BOOM
        2
    BOOM  
    OP
       2014-07-20 12:23:10 +08:00
    @wy315700 用的是Nginx不是apache。
    Super Cache里面的已经关了,因为一旦开启整个网站330错误无法访问。
    B网站默认开启Gzip,但是貌似没有效果,网站依旧40K多。A网站用了Super Cache后被压缩到了10K不到。
    因为B网站和A网站都是基本相同的方式搭建的,所以应该都是可以实现相同的功能的。
    但B网站无论如何网站就是40K左右,无法压缩到10K左右。
    但是去 chinaz 测试gzip又说已经开启了gzip而且已经被压缩到了10k,去测试发现依旧是40K而不是10K
    BOOM
        3
    BOOM  
    OP
       2014-07-20 12:26:18 +08:00
    而且网站还出现这个问题:
    Uncaught ReferenceError: jQuery is not defined ?f=wp-content/plugins/table-of-contents-plus/front.js&m=1404617869:1
    The value "1;" for key "maximum-scale" was truncated to its numeric prefix. kegao.us/:8
    Error parsing a meta element's content: ';' is not a valid key-value pair separator. Please use ',' instead. kegao.us/:8
    Uncaught ReferenceError: Begin is not defined (index):15
    The 'x-webkit-speech' input field attribute is deprecated. Please use the JavaScript API instead.
    wy315700
        4
    wy315700  
       2014-07-20 12:32:13 +08:00
    @BOOM nginx配置文件里照样可以打开gzip的啊
    BOOM
        5
    BOOM  
    OP
       2014-07-20 12:54:44 +08:00 via Android
    @wy315700 nginx里面是开启的。不过貌似没有效果。。。
    ovear
        6
    ovear  
       2014-07-20 12:59:46 +08:00
    330是gzip重复压缩了。。
    BOOM
        7
    BOOM  
    OP
       2014-07-20 13:14:34 +08:00 via Android
    @ovear 那不对啊。a网站开没开super cache 都显示已经开启gzip。。。
    b网站我进nginx里面关了gzip再开启wordpress super cache都依旧显示330。。
    skydiver
        8
    skydiver  
       2014-07-20 13:43:01 +08:00   ❤️ 1
    @BOOM 你改配置之后重启nginx和php-fpm了么。。。
    BOOM
        9
    BOOM  
    OP
       2014-07-20 13:45:06 +08:00 via Android
    @skydiver 呀。忘记了。。
    AstroProfundis
        10
    AstroProfundis  
       2014-07-20 13:54:34 +08:00
    标准结局23333
    BOOM
        11
    BOOM  
    OP
       2014-07-20 13:55:34 +08:00 via Android
    @skydiver 主要是另一个网站也是默认在nginx里面开了gzip,但是再在super cache 里面开压缩也不会出现330啊。
    BOOM
        12
    BOOM  
    OP
       2014-07-20 16:10:25 +08:00
    @skydiver 刚刚试了,没有用。就是关了gzip再开super cache也会出现330.。。
    但是正常开gzip不开super cache就没问题。。
    AstroProfundis
        13
    AstroProfundis  
       2014-07-20 17:01:50 +08:00
    楼主把nginx配置贴上来看看吧
    BOOM
        14
    BOOM  
    OP
       2014-07-20 18:34:18 +08:00
    @AstroProfundis
    user www www;
    worker_processes auto;
    error_log /home/wwwroot/index/log/nginx_error.log crit;
    pid /usr/local/nginx/logs/nginx.pid;

    #Specifies the value for maximum file descriptors that can be opened by this process.
    worker_rlimit_nofile 51200;

    events
    {
    use epoll;
    worker_connections 51200;
    }

    http
    {
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 4k;
    large_client_header_buffers 4 4k;
    client_max_body_size 50m;

    sendfile on;
    tcp_nopush on;

    keepalive_timeout 60 60;

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 16 16k;
    fastcgi_busy_buffers_size 16k;
    fastcgi_temp_file_write_size 16k;
    fastcgi_intercept_errors on;

    tcp_nodelay on;
    server_tokens off;
    gzip on;
    gzip_proxied any;
    gzip_min_length 1000;
    gzip_comp_level 8;
    gzip_proxied expired no-cache no-store private auth;
    gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml application/rss+xml application/xhtml+xml application/atom_xml;
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    log_format access '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for';

    include vhost/*.conf;
    server
    {
    listen 23333;
    server_name aaa;
    index index.html index.htm index.php;
    root /home/wwwroot/index/web;
    fastcgi_buffer_size 4k;
    fastcgi_buffers 8 4k;
    fastcgi_busy_buffers_size 4k;
    gzip off;

    location ~ .*\.php$
    {
    fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fcgi.conf;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
    expires 30d;
    }

    location ~ .*\.(js|css)?$
    {
    expires 12h;
    }

    access_log /home/wwwroot/index/log/access.log combined;
    error_log /home/wwwroot/index/log/error.log crit;
    }

    server
    {
    listen 80 default;
    return 400;
    }
    }
    AstroProfundis
        15
    AstroProfundis  
       2014-07-20 19:33:24 +08:00   ❤️ 1
    @BOOM 把 gzip_proxied any; 和 gzip_proxied expired no-cache no-store private auth; 这两行注释掉试试?另外还有 server{} 里面的 gzip off;
    BOOM
        16
    BOOM  
    OP
       2014-07-20 20:23:01 +08:00
    @AstroProfundis 谢谢 我试一试。
    server{}里面那个是控制面板的gzip 应该没有关系的。
    BOOM
        17
    BOOM  
    OP
       2014-07-20 20:38:04 +08:00
    @AstroProfundis 试了,没用。现在正在搭建新环境,看是不是还这样。。
    youling
        18
    youling  
       2014-07-20 20:43:38 +08:00
    10k和40k有区别吗?
    这区别人能感觉出来?
    wwqgtxx
        19
    wwqgtxx  
       2014-07-20 20:57:00 +08:00 via Android
    @youling 手机党表示很明显
    BOOM
        20
    BOOM  
    OP
       2014-07-21 11:36:03 +08:00
    @youling 网络不好的时候你就知道了。
    youling
        21
    youling  
       2014-07-21 12:29:55 +08:00
    @wwqgtxx 你难道还用的GPRS?
    wwqgtxx
        22
    wwqgtxx  
       2014-07-21 17:40:54 +08:00 via Android
    @youling 你当真认为3g网络是多么靠谱么?
    youling
        23
    youling  
       2014-07-22 12:46:24 +08:00
    @wwqgtxx 当然靠谱,起码速度每秒不止40KB,再说4G都来了……
    wwqgtxx
        24
    wwqgtxx  
       2014-07-22 17:30:50 +08:00 via Android
    @youling 鄙人正在用3g网络和你回话
    一个网站除了内容,打开速度是最关键的
    v2是在手机上唯一一个打开速度和新浪一样快的国外网站了
    少30kb,可以大幅提高打开速度,不信你试试


    再说流量不要钱呀,大富豪…
    BOOM
        25
    BOOM  
    OP
       2014-07-22 20:24:54 +08:00 via iPad
    @wwqgtxx 不会啊。其实速度快的还是有不少的。比如我两个博客
    v5fm.com
    vpsvps.info
    wwqgtxx
        26
    wwqgtxx  
       2014-07-22 20:54:41 +08:00 via Android
    @BOOM 第一个速度还好,第二个就不咋样了
    BOOM
        27
    BOOM  
    OP
       2014-07-22 21:04:17 +08:00
    @wwqgtxx 真的是这样么。。。都是同一个服务器。。第一个tpyecho,第二个wp。。。
    而且第二个网站我明明已经优化得很好了啊。。
    悄悄告诉你,第一个网站30k,第二个10k。。。
    wwqgtxx
        28
    wwqgtxx  
       2014-07-22 23:08:42 +08:00 via Android
    @BOOM 你是不是引用了第三方的fonts服务?
    如果是那样,打开慢就正常了
    BOOM
        29
    BOOM  
    OP
       2014-07-23 10:51:22 +08:00
    @wwqgtxx 不对啊。我已经用了360的前端cdn库了。没用google的fonts了。。
    wwqgtxx
        30
    wwqgtxx  
       2014-07-23 17:21:41 +08:00 via Android
    @BOOM 360的库也不见得有多快呀!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2607 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:51 · PVG 18:51 · LAX 02:51 · JFK 05:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.