文件管理 · 2022年7月31日

apache静态文件缓存|php 在apache下缓存文件写入失败

❶ apache2.4下php文件用于app端读取,很多用户读取频繁,如何在apache配置缓存,缓存时间为一个小时

缓存跟apache没啥关系,具体看你什么数据做缓存,比如可以用memcache,redis之类的。

❷ apache 缓存对性能提升多大

网站的访问速度是由多个因素所共同决定的,这些因素例如应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是应用程序本身的响应速度,因此当你为网站性能所苦恼时,你第一个需要着手进行处理的便是尽可能的提升应用程序的执行速度,你可以使用缓存或者是优化代码的执行效率来提升应用程序的速度。但是,本文并不是介绍如何来提升应用程序的执行效率,在确保您的应用程序的性能已经达到足够好,同时服务器的性能也完全满足的情况下,不妨来试试网页压缩和页面缓存来进一步提升网页的浏览速度,而且非常重要的是,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少。网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有Apache 和 IIS 等。双方的协商过程如下:首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,下面我们会介绍二者之间的区别); WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。 在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小,这可以大大节省服务器的网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。页面缓存是将一部分经常不会改变和变动的文件或页面缓存,下次浏览器再次访问这些页面时,而不需要再次去调用这些和下载这次页面的文件或页面,而提高了用户的访问速度。现在言归正传来谈谈如何使用Apache来对页面进行压缩和页面缓存来提升性能.为了实现这些功能需要三个模块mod_deflate、mod_expires和mod_headers,关于这三个模块的介绍请参考apache文档,这里不再阐述。

❸ apache服务器下的静态页面如何缓存

Apache有缓存模块的。 例如:LoadMole mem_cache_mole moles/mod_mem_cache.so<IfMole mod_cache.c><IfMole mod_mem_cache.c> CacheEnable mem / # cache 40MB MCacheSize 80960 MCacheMaxObjectCount 21000 MCacheMaxStreamingBuffer 65536 MCacheMinObjectSize 1 MCacheMaxObjectSize 74000 ###GDSF 基于缓存命中率和文档大小计算优先级。在必要时,优先级最低的文档被移出缓存##MCacheRemovalAlgorithm GDSF#LRU 指定最长时间没有用到的对象将在必要的时候移出缓存MCacheRemovalAlgorithm LRU</IfMole>

❹ 如何使用Apache ignite的缓存功能

从https://ignite.apache.org/下载Apache Ignite的zip压缩包 · 将zip压缩包解压到系统安装文件夹 · 设置IGNITE_HOME环境变量指向安装文件夹,确保没有/结尾(这一步可选) 如果你下载的是源代码包,可以用如下命令构建: 1. # Unpack the source…

❺ 关于apache的缓存

B服务器,但其丰富的功能对于一个新手来说往往不知道从何下手。我个人感觉Apache的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用模块都可以通过配置文件的简单修改进行积木式的灵活配置。安装的过程可以从简单的静态html服务开始,一个模块一个模块的学习使用。从单纯的HTML静态服务(core),到复杂的动态页面服务(core + php, core + resin, core + php + mod_gzip, core + resin + mod_expire)。 本文主要从简化安装==>性能调优==>维护方便的角度,介绍了WEB服务的规划、HTTPD安装/应用模块配置、升级/维护等过程。让Apache和PHP,Resin等应用模块的独立升级,完全互不影响。 WEB应用容量规划:根据硬件配置和WEB应用的特点进行WEB服务的规划及一些简单的估算公式; Apache安装过程:apache的通用的简化安装选项,方便以后的应用的模块化配置; 修改 HARD_SERVER_LIMIT: vi /path/to/apache_src/src/include/httpd.h #define HARD_SERVER_LIMIT 2560 <===将原来的 HARD_SERVER_LIMIT 256 后面加个“0” apache编译: ./configure –prefix=/home/apache –enable-shared=max –enable-mole=most 可选应用模块/工具的安装:php resin mod_gzip mod_expire及各个模块之间的配合; mod_php安装:./configure –with-apxs=/home/apache/bin/apxs –enable-track-vars –with-mysql mod_resin安装:./configure –with-apxs=/home/apache/bin/apxs mod_gzip安装:修改Makefile中的 apxs路径:然后make make install 工具:日志轮循工具cronolog安装: 升级/维护:看看通用和模块化的安装过程如何简化了日常的升级/维护工作; 按照以上的方法:系统管理员和应用管理员的职责可以清楚的分开,互相独立。 系统安装:系统管理员的职责就是安装好一台DSO模式的Apache,然后COLON即可, 应用安装:由应用管理员负责具体应用所需要的模块,比如PHP Resin等,并设置httpd.conf中相关的配置。 系统升级:系统管理员:升级操作系统/升级Apache 应用升级:应用管理员:升级应用模块,PHP Resin等。 WEB应用的容量规划 Apache主要是一个内存消耗型的服务应用,我个人总结的经验公式: apache_max_process_with_good_perfermance < (total_hardware_memory / apache_memory_per_process ) * 2 apache_max_process = apache_max_process_with_good_perfermance * 1.5 为什么会有一个apache_max_process_with_good_perfermance和apache_max_process呢?原因是在低负载下系统可以使用更多的内存用于文件系统的缓存,从而进一步提高单个请求的响应速度。在高负载下,系统的单个请求响应速度会慢不少,而超过 apache_max_process,系统会因为开始使用硬盘做虚拟内存交换空间而导致系统效率急剧下降。此外,同样的服务:2G内存的机器的 apache_max_process一般只设置到1G内存的1.7倍,因为Apache本身会因为进程过多导致性能下降。

❻ php 在apache下缓存文件写入失败

这是非法关机或其它抄原袭因引起的磁盘受损,请修复一下(每个磁盘都修复一下或只修复C)。 系统自带的磁盘修复方法:具体步骤如下:在我的电脑中选中盘符C 后单击鼠标右键选属性,在弹出的驱动器属性窗口中依次选择 “工具→开始检查”并选择“自动修复文件系统错误”和“扫描并恢复坏扇区”,然后点击开始,扫描时间会因磁盘容量及扫描选项的不同而有所差异(按上面的方法做后,会弹出一个框,点是,自动关机后在开机进行修复,Win78选按计划磁盘检查按钮)。硬盘坏道将导致电脑系统文件损坏或丢失,电脑无法启动或死机。硬盘坏道可以采用NDD磁盘工具或Scandisk来修复。如果故障依旧,请还原一下系统或重装(还是不行格式化硬盘重新分区重装,在不行检修一下去吧)。

❼ 如何在 Apache 中设置缓存有效时间

在 apache 中设置缓存有效时间方法:启动和配置 Expires 打开 httpd.conf 文件(比如我的是在 F:\wamp\bin\apache\Apache2.2.17\conf 下),找到这一行: 复制代码#LoadMole expires_mole moles/mod_expires.so 去掉注释(井号),然后再…

❽ 如何在 apache 中设置缓存有效时间

在 apache 中设置缓存有效时间方法:启动和配置 Expires打开 httpd.conf 文件(比如我的是在 F:\wamp\bin\apache\Apache2.2.17\conf 下),找到这一行:复制代码#LoadMole expires_mole moles/mod_expires.so去掉注释(井号),然后再加上这么两行,再重启下apache,就 ok 了:复制代码<IfMole mod_expires.c>ExpiresActive OnExpiresByType text/html A1000</IfMole>我们看到 max-age 字段也出现在了响应头中,其实它是根据 Expires 的设置自动填充的。其他设置类似:复制代码#启用expires_mole模块LoadMole expires_mole moles/mod_expires.so# 启用有效期控制ExpiresActive On# GIF有效期为1个月ExpiresByType image/gif A2592000# HTML文档的有效期是最后修改时刻后的一星期ExpiresByType text/html M604800#以下的含义类似ExpiresByType text/css "now plus 2 months"ExpiresByType text/js "now plus 2 days"ExpiresByType image/jpeg "access plus 2 months"ExpiresByType image/bmp "access plus 2 months"ExpiresByType image/x-icon "access plus 2 months"ExpiresByType image/png "access plus 2 months"

❾ apache 服务器配置php缓存,像写.htaccess这样的文件按什么规则来写手册看着有些迷糊,求指点

1、首先确定Apache是否加载了Mod_rewrite 模块方法: 检查 httpd.conf 中是否存在以下两段代码 (具体路径可能会有所不同,但形式基本是一样的):(一)LoadMole rewrite_mole libexec/mod_rewrite.so(二)AddMole mod_rewrite.c2、检查Apache是否开启.htaccess支持httpd.confAllowOverride All #如果后面参数为None需要修改为All编辑apache的httpd.conf<Directory /> Options FollowSymLinks AllowOverride All</Directory><Directory "目录">## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* — "Options All"# doesn't give it to you.## The Options directive is both complicated and important. Please see# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig Limit#AllowOverride All## Controls who can get stuff from this server.# Order allow,deny Allow from all</Directory>

❿ 谁熟悉APACHE的缓存配置

Apache中关于页面缓存的设置 Expires、Cache-Control、Last-Modified、ETag是RFC 2616(HTTP/1.1)协议中和网页缓存相关的几个字段。前两个用来控制缓存的失效日期,后两个用来验证网页的有效性。要注意的是, HTTP/1.0有一个功能比较弱的缓存控制机制:Pragma,使用HTTP/1.0的缓存将忽略Expires和Cache-Control头。我们 这里以Apache2.0服务器为例,只讨论HTTP/1.1协议。ExpiresExpires字段声明了一个网页或URL地址不再被浏览器缓存的时间,一旦超过了这个时间,浏览器都应该联系原始服务器。RFC告诉我们:“由于推断的失效时间也许会降低语义透明度,应该被谨慎使用,同时我们鼓励原始服务器尽可能提供确切的失效时间。”对于一般的纯静态页面,如html、gif、jpg、css、js,默认安装的Apache服务器,不会在响应头添加这个字段。Firefox浏览 器接受到相应后,如果发现没有Expires字段,浏览器根据文件的类型和“Last-Modified”字段来推断出一个合适的失效时间,并存储在客户 端。推测出的时间一般是接受到响应时间后的三天左右。Apache的expires_mole模块可以在Http响应头部自动加上Expires字段。在Apache的httpd.conf文件中进行如下配置:#启用expires_mole模块LoadMole expires_mole moles/mod_expires.so# 启用有效期控制ExpiresActive On# GIF有效期为1个月ExpiresByType image/gif A2592000# HTML文档的有效期是最后修改时刻后的一星期ExpiresByType text/html M604800#以下的含义类似ExpiresByType text/css “now plus 2 month”ExpiresByType text/js “now plus 2 day”ExpiresByType image/jpeg “access plus 2 month”ExpiresByType image/bmp “access plus 2 month”ExpiresByType image/x-icon “access plus 2 month”ExpiresByType image/png “access plus 2 month”对于动态页面,如果在页面内部没有通过函数强制加上Expires,例如header(”Expires: ” . gmdate(”D, d M Y H:i:s”) . ” GMT”),Apache服务器会把Wed, 11 Jan 1984 05:00:00 GMT作为Expires字段内容,返回给浏览器。即认为动态页面总是失效的。而浏览器仍然会保存已经失效的动态页面。可以发现Firefox浏览器总是缓存所有页面,不管失效、不失效还是没有声明失效时间。即使缓存中声明了一个网页的实效日期是1970-01- 01 08:00:00,浏览器仍然会发送该文件在缓存中的Last-Modified和ETag字段。 如果在服务器端验证通过,返回304状态,浏览器就还会使用此缓存。Cache-ControlCache-Control字段中可以声明多些元素,例如no-cache, must-revalidate, max-age=0等。这些元素用来指明页面被缓存最大时限,如何被缓存的,如何被转换到另一个不同的媒介,以及如何被存放在持久媒介中的。但是任何一个 Cache-Control指令都不能保证隐私性或者数据的安全性。“private”和“no-store”指令可以为隐私性和安全性方面提供一些帮 助,但是他们并不能用于替代身份验证和加密。Apache的mod_cern_meta模块允许文件级Http响应头部的控制,同时它也可以配置Cache-Control头(或任何其他头)。响应头文件是放在原始目录的子目录中,根据原始文件名所命名的一个文件。具体用法请参阅Apache的官方网站。其中Cache-Control : max-age表示失效日期。如果没有启动mod_cern_meta模块,Apache服务器会把Expires字段中的日期换算成以秒为单位的一个 delta值,赋值给max-age。如果启动mod_cern_meta模块,并且配置了max-age值,Apache会将这个覆盖Expires字 段。同时,max-age隐含了Canche-Control: public。这样浏览器接受到的Cache-Control : max-age和Expires值就是一致的。如果失效日期Cache-Control : max-ag=0或者是负值,浏览器会在对应的缓存中把Expires设置为1970-01-01 08:00:00。Last-ModifiedLast-Modified和ETag是条件请求(Conditional Request)相关的两个字段。如果一个缓存收到了针对一个页面的请求,它发送一个验证请求询问服务器页面是否已经更改,在HTTP头里面带上” ETag”和”If Modify Since”头。服务器根据这些信息判断是否有更新信息,如果没有,就返回HTTP 304(Not Modify);如果有更新,返回HTTP 200和更新的页面内容,并且携带新的”ETag”和”Last-Modified”。使用这个机制,能够避免重复发送文件给浏览器,不过仍然会产生一个HTTP请求。一般纯静态页面本身都会有Last-Modified信息,Apache服务器会读取页面文件中的Last-Modified信息,并添加到http响应头部。对于动态页面,如果在页面内部没有通过函数强制加上Last-Modified,例如header(”Last-Modified: ” . gmdate(”D, d M Y H:i:s”) . ” GMT”),Apache服务器会把当前时间作为Last-Modified,返回给浏览器。无论是纯静态页面还是动态页面,Firefox浏览器巧妙地按照接受到服务器响应的时间设置缓存页面的Last-Modified,而不是按照http响应头部中的Last-Modified字段。ETag既然有了Last-Modified,为什么还要用ETag字段呢?因为如果在一秒钟之内对一个文件进行两次更改,Last-Modified就会不正确。因此,HTTP/1.1利用Entity Tag头提供了更加严格的验证。Apache服务器默认情况下,会对所有的静态、动态文件的响应头添加ETag字段。在Apache的httpd.conf文件中可以通过FileETag指令配置该选项。FileETag指令配置了当文档是基于一个文件时用以创建 Etag(entity tag)响应头的文件的属性。在Apache 1.3.22及以前,ETag的值是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的。 如果一个目录的配置包含了‘FileETag INode MTime Size’而其一个子目录包含了‘FileETag -INode’那么这个子目录的设置(并会被其下任何没有进行覆盖的子目录继承)将等价于‘FileETag MTime Size’。在多台负载平衡的服务器环境下,同一个文件会有不同的etag或者文件修改日期,浏览器每次都会重新下载。设置‘FileETag None’可以使响应头不再包含ETag字段。