فعال کردن قابلیت image filter در nginx

سلام

یک قابلیت خوبی که nginx داره و شاید اکثرا ازش استفاده نشه ریساز تصاویر هست

اگر توی گزارش های سایت gtmetrix دیده باشید یه قسمتی هست به عنوان “Serve scaled images” که داره یه بند گیر میده به سایز تصاویر توی سایت

خوب ممکنه برنامه نویس سایز تصاویر رو که ریساز میکنه با اونی که توی سایت نمایش داده میشه اختلاف داشته باشه و این یه نمره منفی حساب میشه

راه حلی که nginx برای ما قرار داده توی ماژولی تحت عنوان image_filter هست. که باید زمان نصب nginx کانفیگ بشه

 

الان من یک بار این ماژول رو نصب میکنم ببینیم چی میشه 😀

مثل همیشه من یک centos6x دارم و میخام nginx رو روش نصب کنم و ماژول image_filter رو فعال کنم روش

اول از همه باید پکیج های زیر رو نصب کنیم

 yum install gcc-c++ pcre-devel zlib-devel make wget openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools-devel

سپس آخرین نسخه nginx رو از این لینک دانلود میکنیم : http://nginx.org/en/download.html الان آخرین نسخه ۱٫۱۵ هست.

http://nginx.org/download/nginx-1.15.8.tar.gz

از حالت فشرده خارجش میکنیم و به دایرکتوری ایجاد شده میریم

tar -zxvf nginx-1.15.8.tar.gz
cd nginx-1.15.8 

اگر به مسیر src/http/modules از همون دایرکتوری برید یکسری ماژول آماده نصب میبینید و الان ما قصد داریم بعضی هاشون رو نصب کنیم
از جمله ngx_http_image_filter_module.c

حالا باید نصب و configure رو انجام بدیم مثل مثال پایین

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-mail_ssl_module --with-pcre --with-debug

ممکنه گیرو گوری بخورید که خیلی مشخصه از کدوم ماژول هست . اون خط رو از دستور بالا میتونید حذف کنید و مجدد تست کنید
بعد از configure موفق باید make و make install کنیم

make
make install

نوبت ساخت یوزر nginx رسیده ( اگر از قبل nginx داشتید که دیگه لازم نیست این مرحله رو انجام بدین )

useradd -r nginx 

سرویس nginx رو استارت کنید

service nginx start

حالا فایل nginx.conf از مسیر /etc/nginx/ رو باز کنید
بطور مثال من یک دایرکتوری دارم که همه تصاویر بند انگشتی رو توی آپلود میکنم و دوستدارم همه تصاویرش تو سایز ۵۰*۵۰ نمایش داده بشه

باید یک location بسازم با محتوای زیر

location /img/ {
    image_filter resize 50 50;
}

خوب حالا اگر هر کدوم از تصاویری که توی دایرکتوری /img وجود داره رو با مرورگرم باز کنم سایزش ۵۰*۵۰ نمایش داده میشه
هر سایزی که میخاد باشه . موقع نمایش سایزی میشه که من در location /img تعریف کردم.

خوب این مطلب هم تموم شد . حتما دوست داشتید 😀
image filter قلبیت های بیشتری از اینکه من گفتم رو داره. مثلا چرخوندن عکس . crop ، کیفیت تصاویر و ….
میتونید اطلاعات بیشری در این مورد رو از این لینک بدست بیارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *