一对一免费咨询: 13913005726 025-66045668

这些天重新改进了我的图片存储系统,已经完全改用php + 命令行GraphicsMagick 及 nginx + lua + GraphicsMagick 的方法处理,php + 命令行GraphicsMagick 用于预先生成规定范围内尺寸的图片,nginx + lua + GraphicsMagick 用于动态生成指定大小缩图。

GraphicsMagick 是从ImageMagick分离出来的, 比ImageMigack 性能更好, 更适合网站服务器端处理图片用。

CentOS下安装GraphicsMagick

很简单, 先启用EPEL repo, 直接yum安装

# yum -y install GraphicsMagick GraphicsMagick-devel

搞定!网站建设服务

如果你需要在php内使用 pecl 扩展 gmagick,安装方法如下

# pecl install gmagick

# echo 'extension=gmagick.so' /etc/php.d/gmagick.ini

安装 pecl 扩展出错

# pecl install gmagick

Failed to download pecl/gmagick within preferred state stable, latest release is version 1.1.0RC3, stability beta, use channel://pecl.php.net/gmagick-1.1.0RC3 to install

使用如下命令

# pecl install channel://pecl.php.net/gmagick-1.1.0RC3

搞定!

GraphicsMagick 常用命令

使用命令基本和 ImageMagick 相同, 放一段我生缩图函数内的代码

注意: 使用 thumbnail 参数比使用 convert 性能好, 用于处理大的图片

if ($width) {

if (!$height) {

$cmd = "gm convert -thumbnail $width -quality $quality $file $new_file";

}

else {

$cmd = "gm convert -thumbnail {$width}x{$height}^ -gravity center -extent {$width}x{$height} -quality $quality $file $new_file";

}

}

elseif ($height) {

$cmd = "gm convert -thumbnail x$height -quality $quality $file 常州网站建设公司 $new_file";

}

更多可以参考官方文档:http://www.graphicsmagick.org/GraphicsMagick.html#details-thumbnail

nginx + lua + GraphicsMagick

nginx + lua 安装

http://openresty.org/cn/index.html

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 [[Nginx]] 核心,很多的常用的[[第三方模块|http://wiki.nginx.org/3rdPartyModules]],以及它们的大多数依赖项。

wget http://agentzh.org/misc/nginx/ngx_openresty-1.0.15.10.tar.gz

tar -zxvf ngx_openresty-1.0.15.10.tar.gz

cd ngx_openresty-1.0.15.10

./configure --user=www --group=www --prefix=/usr/local/openresty \

--with-luajit \

--with-http_iconv_module

make -j4 #2核就j2,8核j8

make install

我的 nginx 代码就不贴了, 参考以下

location /images/ {
set $image_root /home/tomcat/eisp-files;
set $file "$image_root$uri";

if (!-f $file) {
rewrite_by_lua '
local index = string.find(ngx.var.uri, "([0-9]+)x([0-9]+)");
local 承德网站建设公司 originalUri = string.sub(ngx.var.uri, 0, index-2);
local area = string.sub(ngx.var.uri, index);
index = string.find(area, "([.])");
area = string.sub(area, 0, index-1);

local image_sizes = {"80x80", "800x600", "40x40"};
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end

if table.contains(image_sizes, area) then
local command = "gm convert " .. ngx.var.image_root .. originalUri .. " -thumbnail " .. area .. " -background gray -gravity center -extent " .. area .. " " .. ngx.var.file;
os.execute(command);
else
ngx.exit(404);
end;
';
}

alias /home/tomcat/eisp-files/images/;
expires 7d;
}

原文地址:21Andy.com


 


 南京牧狼文化传媒有限公司简介:


      牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!


  公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!


  为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!


  主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等


  合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯


  资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。



致力于为客户创造更多价值
13913005726 025-66045668
需求提交
电话咨询
在线咨询