为什么要优化图片
想象一下,如果TTLSA每篇文章图片都是1M,一篇文章有10个图片,你看一篇文章是一种什么体验。不仅仅体验差,TTLSA的CDN流量也是蹭蹭蹭的往上涨,涨的是流量,掉的是钱。一个图片100k和1MB的现实的效果差不多,为什么不用100K呢
如何优化图片
有如下几种方法
- 打开大图,QQ截屏然后保存下来
- ngx_pagespeed插件,自动化优化图片质量/尺寸
- firework、ps等工具导出图片
- jpegoptim、pngcrush
介绍下第四种在linux下压缩图片,并且图片质量不会太差,而且可以写脚本批量压缩图片。
jpegotim压缩图片
安装jpegotim
如果你有epel yum源,使用如下命令即可
1
|
# yum install jpegoptim
|
压缩图片命令
1
2
|
# jpegoptim ttlsa.jpg
ttlsa
.
jpg
1425x823
24bit
N
JFIF
[
OK
]
1074449
--
>
853514
bytes
(
20.56
%
)
,
optimized
.
|
可以看到ttlsa.jpg自动被压缩了20.56%。
再压缩一次
1
2
|
# jpegoptim ttlsa.jpg
ttlsa
.
jpg
1425x823
24bit
N
JFIF
[
OK
]
853514
--
>
853514
bytes
(
0.00
%
)
,
skipped
.
|
图片已经被压缩过了,所以提示跳过,不需要在被压缩。
提供一个批量压缩的脚本
1
|
for
i
in
/
data
/
site
/
image
.
ttlsa
.
com
/
images
/
*
.
jpg
;
do
jpegoptim
$
i
;
done
|
pngcrush优化PNG图片
项目地址:http://pmt.sourceforge.net/pngcrush/
1
2
3
4
5
|
# wget http://downloads.sourceforge.net/project/pmt/pngcrush/1.7.88/pngcrush-1.7.88.tar.gz
# tar -xzvf pngcrush-1.7.88.tar.gz
# cd pngcrush-1.7.88
# make
# cp pngcrush /usr/bin
|
pngcrush使用语法
1
2
3
4
5
6
7
8
9
10
11
|
usage
:
pngcrush
[
options
except
for
-
e
-
d
]
infile
.
png
outfile
.
png
pngcrush
-
e
ext
[
other
options
]
file
.
png
.
.
.
pngcrush
-
d
dir
/
[
other
options
]
file
.
png
.
.
.
pngcrush
-
ow
[
other
options
]
file
.
png
[
tempfile
.
png
]
pngcrush
-
n
-
v
file
.
png
.
.
.
options
:
-
bail
(
bail
out
of
trial
when
size
exceeds
best
size
found
-
bit_depth
depth
(
deprecated
)
-
blacken
(
zero
samples
underlying
fully
-
transparent
pixels
)
-
brute
(
use
brute
-
force
:
try
148
different
methods
)
.
.
.
.
.
.
.
.更多内容请自己看帮助
.
.
.
.
.
.
|
pngcrush简单命令
1
2
3
4
5
6
7
8
|
pngcrush
-
brute
-
e
"myimage_compressed.png"
myimage
.
png
.
.
.
.
.
.
.
.
.省略
.
.
.
.
.
Best
pngcrush
method
=
123
(
ws
15
fm
4
zl
9
zs
1
)
=
124820
for
output
to
ttlsattlsa_new
.
png
(
1.63
%
critical
chunk
reduction
)
(
1.63
%
filesize
reduction
)
CPU
time
decoding
1.560
,
encoding
7.640
,
other
0.030
,
total
9.230
sec
.
|
批量优化PNG图片
1
|
pngcrush
-
brute
-
d
"/data/site/image.ttlsa.com/images"
*
.
png
|
转自运维生存时间 http://www.ttlsa.com/linux/optimizing-jpg-png-images-on-linux/