好吧,如果有人想扮演上帝并创造奇迹,我很失望。
所以,我的任务是制作一个脚本,找到超过 6 个月的文件,压缩它们然后删除它们。在我制作 tihs 脚本的过程中,我运行了这个:
find / -type f -mtime -400 ! -mtime -180 | xargs gzip blablabla
Run Code Online (Sandbox Code Playgroud)
这给了每个文件一个 .gz 扩展名。现在我一注意到就取消了,但为时已晚。完成命令后,我的 bash 命令都不起作用,因为 $PATH 变量自行清空。在意识到问题出在哪里之前,我尝试了很多东西。
因此,在解压缩所有内容后,我仍然无法启动。在我按照在线说明进行了以下操作之后,我设法进行了 grub 救援:
root (hd0,0)
setup (hd0)
kernel (hd0,0)/boot/vml[...]
initrd (hd0,0)/boot/initrd.im[...]
Run Code Online (Sandbox Code Playgroud)
之后我的 linux 部分启动但给了我以下错误:
Begin : Running /scripts/init-bottom ... mount : mounting /dev on /root/dev failed : No such file or directory
mount: mounting /sys/ on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed : No such file or …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 web.config 文件中配置我的 IIS7 压缩设置。我正在尝试将 HTTP 1.0 请求启用为 gzip。
是否可以在我自己网站的 web.config 文件中包含此配置信息?还是我需要在应用程序级别设置它?目前,我的 web.config 中有该代码...
<system.webServer>
<urlCompression
doDynamicCompression="true"
dynamicCompressionBeforeCache="true" />
<httpCompression
cacheControlHeader="max-age=86400"
noCompressionForHttp10="False"
noCompressionForProxies="False"
sendCacheHeaders="true" />
... other stuff snipped ...
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
它不起作用:( HTTP 1.1 请求正在被压缩,而不是 1.0.0.
上面的 MSDN 页面说它可以用于:-
那么,我们可以在 web.config 文件中以编程方式基于每个网站设置这些设置吗?(这是一个 Application Web.config 文件...)我做错了什么?
欢呼:)
编辑:有人问我怎么知道 HTTP1.0 没有被压缩。我正在使用失败的请求跟踪规则,它会报告:-
DYNAMIC_COMPRESSION_START
DYNAMIC_COMPRESSION_NOT_SUCESS
Reason: 3
Reason: NO_COMPRESSION_10
DYNAMIC_COMPRESSION_END
Run Code Online (Sandbox Code Playgroud) 启用 mod_deflate 的 apache 不会压缩某些 CSS 和 JS 文件。这些文件在 YSlow 中看起来像“[domain.name]/aggregator.css?...”或“[domain.name]/misc/jquery.js?...”。没有“?”的其他 CSS 和 JS 被压缩。请解释我如何让 apache 也压缩这些文件。
我在 .htaccess 文件中添加了以下行
<IfModule mod_deflate.c>
<FilesMatch "\.(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
谢谢
我们将日志文件压缩以节省空间。通常我们将它们压缩,然后做
gunzip -c file.gz | grep 'test'
Run Code Online (Sandbox Code Playgroud)
查找重要信息,但我们想知道将文件解压缩然后执行 grep 是否更快。
cat file | grep 'test'
Run Code Online (Sandbox Code Playgroud)
如果将 gzip 读入内存并解压缩,那么第一个会更快,但如果没有,那么第二个会更快。有谁知道 gzip 如何解压缩数据?
我有一个没有启用压缩的 Jetty 服务器(我在这里测试过)。如何启用压缩?
我正在使用rotatelogs 以格式创建我的每日apache 日志host.<day>.<month>.<year>.access.log。现在我想在完成后 gzip 并将日志移动到不同的目录。怎么做?
更新:有一个小错误。logrotate->rotatelogs
这是我的第一个问题,请原谅我糟糕的英语。
我正在研究如何提高我的页面速度,我发现了 nginx gzip 设置。
以下是我在 nginx.conf 中的 gzip 设置
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd. ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon
gunzip on;
gzip_static on;
Run Code Online (Sandbox Code Playgroud)
我假设使用这些设置,nginx 将提供 .gz 压缩文件而不是原始文件(如果存在)。如果不是,nginx 会在用户请求时压缩它们。如果我错了,请纠正我,我在正确的轨道上吗?
我的问题是:Nginx 每次新用户请求时都会压缩原始文件吗?或者它是否提供这些压缩文件的缓存/保存版本?
示例:我的静态文件夹中有这些文件。
/static/css/main.css
/static/css/main.css.gz
/static/js/main.js
/static/js/main.js.gz
/static/html/index.html
Run Code Online (Sandbox Code Playgroud)
当用户 A 请求 index.html 文件时,Nginx 会即时压缩文件,但是如果用户 B 请求相同的 index.html 文件,Nginx 会再次压缩该文件还是会从某个地方提供缓存/保存的版本呢?
我希望 Apache 通过网络发送 gzip 压缩的静态文件,但也希望 Apache 不总是一遍又一遍地对它们进行 gzip。所以我想如果 .gz 文件存在的话,它是否不可能交付。这个设置:
文件结构:
static/
|
|--- style.css
|
\--- style.css.gz
Run Code Online (Sandbox Code Playgroud)
以及 .htaccess 中的以下内容:
mod_rewrite 规则:
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]
Run Code Online (Sandbox Code Playgroud)
而这个设置:
AddEncoding x-gzip .gz
Run Code Online (Sandbox Code Playgroud)
实际上,只要发送 .gz 文件而不是 .css 文件,如果请求转到/static/style.css. 问题只是,该文件作为“application/x-gzip”而不是“text/css”交付。使用 mod_rewrite 的 T 标志不会改变这一点。也没有明确的
AddType text/css .css
Run Code Online (Sandbox Code Playgroud)
有没有人有想法,我如何才能实现所需的行为?或者出于某种我不认为的原因是不必要的?
编辑:还有一个额外的困难:将原始文件发送给没有 gzip 支持的客户端。有谁知道这是如何工作的?
我正在从硬盘进行一些数据恢复。磁盘上有大约 300GB 的数据,但我缺少另一个具有 300GB 可用空间的硬盘驱动器。
我有 3 个 HD,分别有 150、40 和 120 GB 的可用空间。
为了创建第一个块,我正在考虑执行以下操作:
sudo dd if=/dev/sdf1 bs=4096 count=150G | gzip > img1.gz
Run Code Online (Sandbox Code Playgroud)
我应该在其他机器上运行什么来“从我离开的地方开始”?
我正在尝试为 mime 类型启用动态压缩application/json。
在 applicationHost.config 中,我进行了以下更改:
<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)
我还尝试使用以下命令解锁该部分:
appcmd unlock config /section:system.webserver/httpcompression
Run Code Online (Sandbox Code Playgroud)
我的 web.config 设置(与 applicationHost.config 相同,但具有额外的 mimetype):
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="*/*" enabled="false" /> …Run Code Online (Sandbox Code Playgroud) gzip ×10
compression ×4
apache-2.2 ×3
linux ×2
ubuntu ×2
boot ×1
cache ×1
dd ×1
iis ×1
iis-7 ×1
iis-7.5 ×1
jetty ×1
log-rotation ×1
mod-deflate ×1
nginx ×1
rewrite ×1
web.config ×1