nginx 를 이미지 처리 서버 로 사용 합 니 다.

4425 단어 시스템 설정nginx
ngxin 에는 모듈 이 많이 있 습 니 다. 현재 업 무량 이 많 지 않 고 서버 부하 가 낮 기 때문에 ngxin 의 Image Filter 를 그림 크기 조정, 커팅, 회전 등 처리 도구 로 사용 할 수 있 습 니 다.솔직히 max 에 이 물건 을 설정 하 는 것 은 좀 힘 들 어 요. Home Brew 의 기본 nginx 가방 은 module 을 설정 할 수 없어 요.다른 버 전의 nginx - full 을 설치 해 야 합 니 다.
설치 의존
image filter 의존 libgd2, mac 는 기본적으로 이 물건 을 설치 하지 않 았 기 때문에 먼저 설치 해 야 합 니 다.
brew install gd

네, libgd2 아니면 gd 입 니 다.
설치 nginx
nginx 의 module 은 apache 처럼 동적 으로 불 러 오 는 것 이 아니 라 nginx 의 메 인 파일 에 컴 파일 해 야 합 니 다.골 랑 이 생각 난다.이 갱 부 들 은 열 배치 가 N 다 처 리 를 해 야 한다.
brew tap homebrew/nginx
brew install nginx-full --with-http_image_filter_module  --with-gd
--with-gd 매개 변 수 는 지원 gd 을 추가 하 는 데 사 용 됩 니 다.
이미지 필터 설정
인터넷 에는 image filter 를 이용 하여 그림 크기 를 조정 하 는 설정 이 많 습 니 다. 다음은 제 가 쓴 설정 (일부 코드) 입 니 다. 비교적 초라 합 니 다. 또한 현재 문 제 는 jpeg 의 그림 품질 매개 변수 가 유효 하지 않 고 원인 을 찾 고 있 습 니 다.
set $width    "-";
set $height   "-";

if ( $arg_w != "" ){
  set $width $arg_w;
}

if ( $arg_h != "" ){
  set $height $arg_h;
}

set $rotate "-";

if ( $arg_r != "" ){
  set $rotate $arg_r;
}

set $quality "-";

if ( $arg_q != "" ){
  set $quality $arg_q;
}

location /images/ {
  image_filter resize $width $height;   #     
  image_filter rotate $rotate;          #     
  image_filter_jpeg_quality $quality;   # jpeg    ,    
  image_filter_interlace on;            #  jpeg               ,              
  image_filter_transparency on;         #            ,      png ,       
  image_filter_buffer 8M;               #                ,   1M,  1M         。
  error_page   415 = /empty;            #                    ,        
}

location = /empty {
#   `empty_gif`  ,    1x1   gif 。           '/empty'     ,    ,         'data:image/gif;base64,R0lGODlhCgAKAIAAAMzMzP///yH5BAAAAAAALAAAAAAKAAoAAAIRhI8Qy6zdHlxyVnjjdJv2UAAAOw=='
  empty_gif;                            
}

이렇게 하면 *.jpg?r=90&w=100&h=100 와 같은 매개 변수 설정 을 통 해 그림 의 크기 조정 과 회전 을 할 수 있 습 니 다.
기타 선택
nginx 는 그림 크기 조정 에 사용 할 수 있 는 다른 제3자 module 도 있 습 니 다.예 를 들 면:
  • ngx_small_light 는 ImageMagick 기능 을 사용 할 수 있 으 며, image filter 보다 훨씬 강하 다.
  • ngx_image_thumb 는 국산 입 니 다. 이 module 은 그림 판 의 접미사 인 자 를 자동 으로 처리 하여 그림 을 자 르 고 크기 를 조정 하 며 배치 가 비교적 쉬 우 며 그림 워 터 마크 도 지원 합 니 다.
  • 좋은 웹페이지 즐겨찾기