zoukankan      html  css  js  c++  java
  • 记vagrant nginx sendfile问题

    从今年开始,一直在vagrant虚拟机上做开发

    因前段时间一个项目需要调试静态文件,出现静态文件修改后,浏览器刷新不生效。

    最后追踪到是nginx开启了sendfile这一项。。

    具体sendfile原理可以查下,,网上写的都很详细,这里就不复述了。

    一开始一直认为是nginx某个地方配置有问题。。但后来干脆自己写下,做下测试

    具体代码如下(tcp那几步连接这里就不写了。网上很多):

    /**
     * @connect tcp 连接句柄
     */
    int sendClient(int connect)
    {
        int fd;
        struct stat fileStat;
        off_t offset = 0;
        fd = open("/data/web/test.com/index.html", O_RDONLY|O_NONBLOCK);
        if (fd < 0) {
            perror("open file.");
            return 0;
        }
        //获取文件信息
        fstat(fd, &fileStat);
        char buffer[fileStat.st_size];
        // read(fd, buffer, fileStat.st_size);
        //write(connect, buffer, fileStat.st_size);
        sendfile(connect, fd, &offset, fileStat.st_size);
        close(fd);
        return 1;
    }

    至些我测了下,得到的还是不生效,由此可以断定,与nginx无关,与系统调度有关

    至于问题,我现在的回答只能是vagrant的一个坑,具体是什么,我也无从得知,

    当然, 这个我也是从表象猜测, 如果有人知道真正的原因, 还请不吝留言指教

  • 相关阅读:
    把文本数据转化为json
    componentsSeparatedByString 的注意事项
    内存管理
    审核问题2.3.1
    H5缩放效果的问题和缓存问题
    iOS库
    DDOS 攻击防范
    连接数过多的问题
    nginx 长连接keeplive
    javascript 判断身份证的正确性
  • 原文地址:https://www.cnblogs.com/tywei/p/4624206.html
Copyright © 2011-2022 走看看