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的一个坑,具体是什么,我也无从得知,

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

  • 相关阅读:
    跨页传值另一种方法
    运行nodejs的blog程序遇见问题
    nodejs和mongodb实践
    mongodb数据库实践笔记
    两次分页显示内容——先少后多显示
    Java进阶4表达式中的陷阱
    Java进阶3. 内存回收机制
    Java进阶1. Synchronized 关键字
    Java复习9网路编程
    Java复习8.多线程
  • 原文地址:https://www.cnblogs.com/tywei/p/4624206.html
Copyright © 2011-2022 走看看