Linux中Apache设置压缩及缓存的方法实例

本文主要和大家分享linuxapache设置压缩及缓存的方法实例,希望能帮助到大家。

压缩文件:

编辑apache模块

vim /etc/httpd/conf.modules.d/00-base.conf

确保以下三个模块没有被注释

LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so

注意:也可以把三个模块放到/etc/httpd/conf/httpd.conf文件里,模块只能在一个文件中加载

设置压缩规则

vim /etc/httpd/conf/httpd.conf

末尾添加

AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
Header append Vary User-Agent

压缩率一般都大于70%

压缩率检测(http://tool.chinaz.com/Gzips/)只能在pc端检测

设置缓存:

vim /etc/httpd/conf.modules.d/00-base.conf

确保以下模块没有被注释

LoadModule headers_module modules/mod_headers.so #第一种缓存方式
LoadModule expires_module modules/mod_expires.so #第二种缓存方式

注意:也可以把这个模块放到/etc/httpd/conf/httpd.conf文件里,模块只能在一个文件中加载

设置缓存规则

vim /var/www/html/.htaccess

存了个图 存了个图

视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

存了个图 17 查看详情 存了个图

末尾添加

第一种缓存方式

FileEtag INode Mtime Size

第二种缓存方式

# 缓存有效时间 1 月

Header set Cache-Control “max-age=2592000, public”

Header set Cache-Control “max-age=2592000, public, must-revalidate”

注意:max-age为缓存时间,单位秒,按需修改

第三种缓存方式

vim /etc/httpd/conf/httpd.conf

添加以下内容

ExpiresActive On
#css文件缓存2592000/3600/24=1月
ExpiresByType text/css A2592000
#js文件缓存2592000/3600/24=1月
ExpiresByType application/x-javascript A2592000
ExpiresByType application/javascript A2592000
#html文件缓存2592000/3600/24=1月
ExpiresByType text/html A2592000
#图片文件缓存2592000/3600/24=1月
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/ico A2592000
ExpiresByType image/x-icon A2592000
#文件默认缓存1月
ExpiresDefault “access plus 30 days”

注意:以上方式,三选一

重启apache服务

service httpd restart

注意:apache设置压缩和缓存都会增加服务器的内存压力,但设置压缩和缓存之后,网站的访问速度会有所提高

相关推荐:

Apache和PHP的配置详细讲解

以上就是Linux中Apache设置压缩及缓存的方法实例的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/283765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 17:36:15
下一篇 2025年11月4日 17:40:48

相关推荐

  • 使用LangChain与OpenAI集成现有ChromaDB集合的兼容性指南

    本文旨在解决在使用LangChain、OpenAI和ChromaDB时,因库版本不兼容导致的AttributeError: ‘OpenAIEmbeddingFunction’ object has no attribute ’embed_query’错…

    2025年12月14日
    000
  • BottlePy教程:在根路径下高效提供静态文件并避免路由冲突

    本教程将指导您如何在BottlePy应用中,将存储在子目录中的静态文件(如public/)通过网站的根路径(/)提供给用户,同时避免与应用程序的其他路由(如/blog)发生冲突。核心解决方案在于理解并正确利用BottlePy的路由匹配顺序机制。 引言:理解静态文件服务需求 在web开发中,静态文件(…

    2025年12月14日
    000
  • BottlePy中根目录静态文件服务与路由优先级管理

    本文详细阐述了如何在BottlePy框架中,实现从应用根路径直接提供静态文件服务,同时避免与现有业务路由发生冲突。核心在于理解BottlePy的路由匹配机制,并通过合理调整路由定义顺序——将具体路由置于泛化路由之前——来确保两者和谐共存,有效解决因泛化路由覆盖特定路由的问题。 理解BottlePy的…

    2025年12月14日
    000
  • PySide6连接D-Bus信号:深入理解注册与槽函数签名

    本文详细阐述了PySide6中连接D-Bus信号的正确方法,重点解决了对象注册和槽函数签名匹配问题。教程涵盖了必要的registerObjec++t调用,以及PySide6特有的QtCore.SLOT字符串签名语法,并对比了PyQt6的简化方式,旨在帮助开发者高效、准确地处理D-Bus信号。 引言:…

    2025年12月14日
    000
  • BottlePy静态文件服务:根目录映射与路由优先级管理

    本教程将指导您如何在BottlePy应用中从根目录提供静态文件,同时避免与现有动态路由发生冲突。核心策略是理解并利用Bottle的路由匹配机制,确保更具体的路由优先于通用的静态文件捕获路由被定义和匹配,从而实现灵活且无冲突的静态资源管理。 1. BottlePy中静态文件服务的需求 在web开发中,…

    2025年12月14日
    000
  • PySide6 D-Bus信号连接:正确语法与实现指南

    本文详细阐述了在PySide6中正确连接D-Bus信号的步骤与语法。核心要点包括通过QDBusConnec++tion.registerObject注册对象以使其能够接收D-Bus信号,以及使用QtCore.SLOT宏指定信号槽的精确签名。文章通过PySide6和PyQt6的对比示例,清晰展示了两种…

    2025年12月14日
    000
  • PySide6 中连接 DBus 信号的正确实践

    本教程旨在详细阐述如何在 PySide6 应用程序中正确连接到 DBus 信号。文章将深入探讨连接 DBus 信号时常见的两个关键点:确保本地对象在 DBus 上注册,以及 PySide6 中槽函数签名(QtCore.SLOT)的精确使用。通过具体的代码示例,我们将展示如何监听 DBus 系统总线上…

    2025年12月14日
    000
  • Python OpenCV 视频录制:解决0KB文件或损坏问题的教程

    本教程旨在解决使用Python OpenCV进行视频录制时,生成0KB或损坏MP4文件的问题。核心原因在于cv2.VideoWriter的写入分辨率与摄像头实际输出分辨率不匹配。文章将详细指导如何正确获取摄像头实际工作分辨率,并将其应用于视频写入器,确保录制过程顺畅,生成可播放的视频文件。 1. O…

    2025年12月14日
    000
  • BottlePy:根目录静态文件服务与路由优先级管理

    本教程将指导您如何在BottlePy应用中,从服务器的子目录(如public/)提供静态文件,使其在URL路径上表现为根目录文件,同时确保不覆盖其他应用程序路由。核心解决方案在于正确设置路由的定义顺序,确保特定路由优先于通用静态文件路由被匹配。 理解BottlePy静态文件服务 在web开发中,提供…

    2025年12月14日
    000
  • 解决ObsPy读取SAC文件时的TypeError:版本兼容性指南

    本教程旨在解决使用ObsPy库读取SAC文件时遇到的TypeError: Unknown format for file错误。该问题通常源于ObsPy库的特定版本兼容性问题,尤其是在版本更新后。文章将提供具体的解决方案,即回退到已知稳定的ObsPy版本,并指导如何进行版本管理,确保SAC数据能够被正…

    2025年12月14日
    000
  • 掌握PySide6与DBus信号的连接:深度教程

    本文详细阐述了在PySide6中正确连接DBus信号的方法,重点解决常见的两个问题:缺乏DBus对象注册和不正确的槽函数签名语法。通过对比PyQt6的简化方式,教程提供了完整的PySide6示例代码,指导开发者如何利用QDBusConnection.registerObject()和QtCore.S…

    2025年12月14日
    000
  • 优化Tkinter主题性能:解决UI卡顿与响应缓慢问题

    本文探讨了Tkinter应用中因主题选择不当导致的性能问题,尤其是在Windows和macOS平台上使用包含大量图片资源的自定义主题时。针对此问题,文章提供了两种主要解决方案:一是推荐使用性能更优的Tkinter主题,如sv-ttk,并提供其安装与应用示例;二是建议对于更高性能或更现代UI需求,考虑…

    2025年12月14日
    000
  • Tkinter主题性能优化:解决UI卡顿与响应缓慢问题

    本教程旨在解决Tkinter应用在使用某些主题(特别是基于图像的Azure-ttk-theme)时出现的UI卡顿和响应缓慢问题。我们将探讨性能瓶颈的根源,包括基于图像的主题和平台差异,并提供两种主要的解决方案:一是推荐使用性能更优的Tkinter主题,如sv-ttk;二是建议在追求现代高响应UI时,…

    2025年12月14日
    000
  • Tkinter主题性能优化:解决UI卡顿问题

    本文探讨了Tkinter在Windows和macOS平台上使用自定义主题时可能遇到的性能瓶颈,特别是当界面包含大量复杂或图像驱动的组件时。文章提供了针对性的优化建议,包括选择性能更优化的主题(如sv-ttk),并指出在追求极致现代和流畅用户体验时,可能需要考虑转向其他更专业的GUI框架。 Tkint…

    2025年12月14日
    000
  • 使用 UBI8-Python 镜像在 Docker 中安装 Python 包

    本文旨在解决在使用 Red Hat UBI8-Python 镜像构建 Docker 镜像时,pip 命令无法找到的问题。通过分析镜像的 Python 环境配置,提供了一种使用完整路径调用 pip 命令的解决方案,并强调了在 Dockerfile 中正确配置 Python 环境的重要性,以确保项目依赖…

    2025年12月14日
    000
  • 优化Tkinter主题性能:解决UI卡顿与提升响应速度

    本文旨在探讨Tkinter应用中主题性能下降的问题,尤其是在Windows和macOS平台上使用图像密集型主题时。我们将分析导致UI卡顿的常见原因,并提供优化策略,包括选择高性能主题(如sv-ttk)、减少图像依赖,以及在必要时考虑其他现代GUI框架,以帮助开发者构建更流畅、响应更快的用户界面。 T…

    2025年12月14日
    000
  • 优化Tkinter应用性能:应对主题渲染迟缓的策略

    本文探讨了Tkinter主题在Windows和macOS平台上渲染大量控件时可能出现的性能瓶颈,特别是对于依赖图像的自定义主题。针对应用运行缓慢的问题,文章提供了优化策略,包括推荐使用性能更优的sv-ttk主题,并建议在追求极致性能和现代UI时考虑其他GUI工具包,以提升用户体验。 Tkinter主…

    2025年12月14日
    000
  • python3.5如何安装

    答案:Python 3.5 可在 Windows、macOS 和 Linux 上安装。Windows 用户从官网下载安装包并勾选添加到 PATH;macOS 建议使用官方安装包或 Homebrew 安装;Linux(Ubuntu)可通过 deadsnakes PPA 安装。安装后通过 python3…

    2025年12月14日
    000
  • 解决preview-generator安装失败问题:Windows平台安装指南

    摘要 本文针对在Windows系统中使用pip安装preview-generator包时遇到的常见错误,提供详细的排查和解决方案。preview-generator依赖多个非Python库,在Windows上的安装配置较为复杂。本文将引导你安装必要的依赖项,并提供替代方案,帮助你成功生成文件预览。 …

    2025年12月14日
    000
  • SQLAlchemy连接SQL Server:解决运行时方言查找错误

    本文旨在解决在使用SQLAlchemy连接SQL Server时可能遇到的“无法加载方言插件”错误。核心解决方案是采用sqlalchemy.engine.URL.create方法构造数据库连接URL,以确保连接参数的正确编码和解析,从而避免手动处理连接字符串时可能出现的兼容性问题,并提供完整的代码示…

    2025年12月14日
    000

发表回复

登录后才能评论
关注微信