سلام
یک قابلیت خوبی که 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 الان آخرین نسخه 1.15 هست.
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/ رو باز کنید
بطور مثال من یک دایرکتوری دارم که همه تصاویر بند انگشتی رو توی آپلود میکنم و دوستدارم همه تصاویرش تو سایز 50*50 نمایش داده بشه
باید یک location بسازم با محتوای زیر
location /img/ { image_filter resize 50 50; }
خوب حالا اگر هر کدوم از تصاویری که توی دایرکتوری /img وجود داره رو با مرورگرم باز کنم سایزش 50*50 نمایش داده میشه
هر سایزی که میخاد باشه . موقع نمایش سایزی میشه که من در location /img تعریف کردم.
خوب این مطلب هم تموم شد . حتما دوست داشتید 😀
image filter قلبیت های بیشتری از اینکه من گفتم رو داره. مثلا چرخوندن عکس . crop ، کیفیت تصاویر و ….
میتونید اطلاعات بیشری در این مورد رو از این لینک بدست بیارید
خیلی عالی٬ کوتاه و کاربردی
متشکریم 🙂