apache 中的目录为 windows 共享文件夹时,出现了一种情况:
访问大文件时>100k,只能送出前30k左右的内容,
在 ie中如何刷新都不能显示完整, 在 firefox中刷新几次后可显示完整,用 wget时,可看出明显的续传的过程.
需要关闭以下两项, 具体还是不知为何,但行之有效:
说明
在递送中使用内存映射(memory-mapping)来读取文件 |
语法
EnableMMAP On|Off |
默认值
EnableMMAP On |
作用域
server config, virtual host, directory, .htaccess |
覆盖项
FileInfo |
状态
核心(C) |
模块
core |
此指令指示httpd
在递送中如果需要读取一个文件的内容,它是否可以使用内存映射。当处理一个需要访问文件中的数据的请求时,比如说当递送一个使用mod_include
进行服务器端分析的文件时,如果操作系统支持,Apache将默认使用内存映射。
这种内存映射有时会带来性能的提高,但在某些情况下,您可能会需要禁用内存映射以避免一些操作系统的问题:
在可能遇到这些问题的服务器配置过程中,您应当使用下面的命令来禁用内存映射:
对于挂载了NFS的文件夹,可以单独指定禁用内存映射:
<Directory "/path-to-nfs-files"> EnableMMAP Off </Directory>
说明
使用操作系统内核的sendfile支持来将文件发送到客户端 |
语法
EnableSendfile On|Off |
默认值
EnableSendfile On |
作用域
server config, virtual host, directory, .htaccess |
覆盖项
FileInfo |
状态
核心(C) |
模块
core |
兼容性
仅在 Apache 2.0.44 及以后的版本中可用 |
这个指令控制httpd
是否可以使用操作系统内核的sendfile支持来将文件发送到客户端。默认情况下,当处理一个请求并不需要访问文件内部的数据时(比如发送一个静态的文件内容),如果操作系统支持,Apache将使用sendfile将文件内容直接发送到客户端而并不读取文件。译者注:Linux2.4/2.6内核都支持。
这个sendfile机制避免了分开的读和写操作以及缓冲区分配,但是在一些平台或者一些文件系统上,最好禁止这个特性来避免一些问题:
- 一些平台可能会有编译系统检测不到的有缺陷的sendfile支持,特别是将在其他平台上使用交叉编译得到的二进制文件运行于当前对sendfile支持有缺陷的平台时。
- 在Linux上启用IPv6时,使用sendfile将会触发某些网卡上的TCP校验和卸载bug。
-
当Linux运行在Itanium处理器上的时候,sendfile可能无法处理大于2GB的文件。
- 对于一个通过网络挂载了NFS文件系统的
DocumentRoot
(比如:NFS或SMB),内核可能无法可靠的通过自己的缓冲区服务于网络文件。
如果出现以上情况,你应当禁用sendfile :
针对NFS或SMB,这个指令可以被针对目录的设置覆盖:
<Directory "/path-to-nfs-files"> EnableSendfile Off </Directory>
分享到:
相关推荐
- 在使用`ProxyPass`指令时,建议将`ProxyRequests`指令设置为`Off`。 - 排除路径的指令必须在通用的`ProxyPass`指令之前配置。 - 当与后端服务器之间存在防火墙时,建议开启`keepalive`选项,以避免防火墙丢弃不...
例如,可以使用`.htaccess`文件来设置基于文件夹的权限控制,或者通过`<Directory>`块中的`Order`和`Allow`指令来控制访问。 #### 四、总结 通过上述步骤,我们可以完成Apache在Linux系统上的安装和基本配置。...
2. 在Apache配置文件中添加加载模块的指令,例如:`LoadModule concat_module modules/mod_concatx.dll`。 3. 配置合并规则,例如使用`<IfModule mod_concat.c>`和`</IfModule>`标签来定义一组文件进行合并。 4. ...
Server version: Apache/2.2.22 (Unix) Server built: Sep 10 2015 14:41:29 ``` #### 安装 mod_jk 安装 mod_jk 的步骤大致如下: 1. **下载对应版本**:根据你的 Apache 版本以及操作系统类型,下载合适的 mod...
5. **配置Apache**:编辑Apache的配置文件(通常是`httpd.conf`或`apache2.conf`),添加必要的指令来启用SVN支持。例如,定义一个虚拟主机,设置SVN仓库的路径,以及访问控制规则。以下是一个简单的示例: ```...
这两个指令分别指定Apache进程运行时使用的用户和组,例如:“User apache”和“Group apache”。这有助于限制服务器的权限,提高安全性。 4. **ServerAdmin**: 设置服务器管理员的电子邮件地址,用于在发生错误...
在本教程中,我们将深入探讨如何下载、安装以及配置Apache Tomcat 6.0.35。 首先,`apache-tomcat-6.0.35.rar`是该版本Tomcat的压缩文件,用户需要先进行解压。RAR是一种常见的文件压缩格式,可以使用WinRAR或其他...
Apache Batik是Apache软件基金会开发的一个开源项目,主要用于处理SVG(Scalable Vector Graphics)图形。这个包在Java环境中提供了一整套工具和库,使得开发者可以创建、修改、显示和转换SVG内容。SVG是一种基于XML...
Apache 中设置多个端口,实现多个端口网站 Apache 服务器是当前最流行的 Web 服务器之一,它提供了强大的功能和灵活的配置选项。其中,设置多个端口是 Apache 服务器的一项重要功能,它允许用户在同一台服务器上...
Apache Tomcat 7.0.8 是一个广泛使用的开源软件,用作Java Servlet和JavaServer Pages(JSP)的Web应用程序服务器。它是由Apache Software Foundation维护的Tomcat项目的一部分,专注于提供一个轻量级、高性能的Java...
本文将详细介绍 Apache 局域网访问配置方案的主要组件、配置指令和实现安全设置的方法。 一、Apache 配置文件结构 Apache 配置文件通常位于服务器的 etc/apache2 或 etc/httpd 目录下,文件名为 apache2.conf 或 ...
在标题和描述中提到的"关闭了EncodingEngine on才能运行",可能是指在特定环境下,将`mod_encoding`的EncodingEngine指令设置为`Off`能解决中文URL的问题。`EncodingEngine`指令控制了Apache是否自动转换请求的URL...
commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....
Exception in thread "main" Java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException 或者: Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang....
Apache HttpComponents Client的4.5.6版本 ,下载引入工程即可。
在Apache服务器中,设置目录权限是一项至关重要的任务,它直接影响着服务器的安全性、稳定性和效率。Apache配置文件中,我们通常使用`<Directory>`指令来指定特定目录的访问规则。例如,`<Directory "/...
Apache HTTP服务器是世界上最流行的Web服务器软件之一,它允许你托管静态和动态内容。在配置Apache时,`httpd.conf`是主要的配置文件,其中包含了...理解并熟练掌握这两个指令,对于管理和优化Apache服务器至关重要。
有两个版本的 `parseRequest` 方法,一个接受 `HttpServletRequest` 和一个额外的重载版本,接受 `sizeThreshold`, `sizeMax`, 和 `repositoryPath` 参数,方便一次性设置阈值、最大大小和临时路径。 5. `...
至于`apache2.4_win64`和`apache2.2_win64`,这两个文件夹分别包含了适用于64位系统的Apache 2.4和2.2版本的预编译模块,方便那些不熟悉源代码编译的用户直接使用。同样,`apache2.2_win32`和`apache2.4_win32`则是...