Nginx 에 image filter 모듈 을 설정 하여 동적 생 성 미리 보기 그림 을 만 듭 니 다.
HttpImageFilterModule 은 지 정 된 크기 로 너무 큰 그림 을 자 르 는 데 사 용 됩 니 다. nginx 자체 테이프 모듈 입 니 다. 기본적으로 HttpImageFilterModule 을 열지 않 습 니 다. 컴 파일 할 때 인 자 를 가 져 와 야 합 니 다 - with - httpimage_filter_module
이 모듈 은 주로 두 가지 명령 이 있 습 니 다: 문법: imagefilter (test | size | resize width height | crop width height) 기본 값: 나타 날 수 없 는 컨 텍스트: location
이 명령 은 그림 의 변환 형식 을 지정 합 니 다:
test - 답장 이 JPEG, GIF, PNG 그림 (BMP 등 다른 형식 은 지원 되 지 않 음) 인지 테스트 하고 오류 가 발생 했 을 때 415 를 되 돌려 줍 니 다.size - 그림 의 JSON 데 이 터 를 되 돌려 줍 니 다. 예 를 들 어 ("Img": ("width": 100, "height": 100, "type": "gif") resize - 설정 에 따라 비례 하여 그림 을 줄 여야 합 니 다. 예 를 들 어 100 * 100 의 그림 은 50 * 25 이 고 줄 인 그림 은 25 * 25 입 니 다.한 차원 만 설정 하고 싶다 면 '-' 로 대체 할 수 있다.오류 가 발생 했 을 때 415 로 돌아 갑 니 다.crop - 설정 에 따라 비례 하여 그림 을 줄 이 고 설정 과 같은 크기 의 그림 으로 재단 합 니 다.예 를 들 어 100 * 100 의 그림 인 데 설정 은 50 * 25 이 고 줄 인 그림 은 50 * 50 이 며 Nginx 는 중간 높이 25 의 픽 셀 을 선택 하여 50 * 25 의 그림 을 형성 하기 때문에 그림 이 부족 할 수 있다.한 차원 만 설정 하고 싶다 면 '-' 로 대체 할 수 있다.오류 가 발생 했 을 때 415 로 돌아 갑 니 다.
문법: imagefilter_buffer size 기본 값: imagefilter_buffer 1M 가 나타 날 수 있 는 위치: http, server, location
이 명령 은 단일 그림 캐 시 의 최대 값 을 설정 합 니 다. 걸 러 낸 그림 크기 가 캐 시 크기 를 초과 하면 415 로 오 류 를 보고 합 니 다.
지금부터 중점:
위 와 같은 인식 이 생기 면 로 케 이 션, if, imagefilter 는 nginx 동적 으로 미리 보기 그림 을 만 들 수 있 습 니 다.
그림 이 / img 디 렉 터 리 에 있다 고 가정 하 십시오.
미리 보기 그림 접근 방식 / / www. jb51. net / img / 9GUMJR7200AJ 000390x90. jpg 원본 접근 방식 / / www. jb51. net / img / 9GUMJR7200AJ 000390x0.jpg //www.jb51.net/img/9GUMJR7200AJ0003_0x50.jpg //www.jb51.net/img/9GUMJR7200AJ0003_0x0.jpg //www.jb51.net/img/9GUMJR7200AJ0003.jpg
server 컨 텍스트 에 다음 설정 을 추가 하면 됩 니 다.
location ~* /img/(.+)_(d+)x(d+).(jpg|gif|png)$ {
set $h $2;
set $w $3;
if ($h = "0") {
rewrite /img/(.+)_(d+)x(d+).(jpg|gif|png)$ /img/$1.$4 last;
}
if ($w = "0") {
rewrite /img/(.+)_(d+)x(d+).(jpg|gif|png)$ /img/$1.$4 last;
}
#
image_filter resize $h $w;
# 2M, 2M 415 , image_filter_buffer
image_filter_buffer 2M;
#error_page 415 /img/notfound.jpg;
try_files /img/$1.$4 /img/notfound.jpg;
}
location ~* /img {
}
미리 보기 그림 생 성 은 imagefilter 기능 중 하 나 는 모두 4 가지 인 자 를 지원 합 니 다. test: 진짜 그림 인지 되 돌려 줍 니 다. size: 그림 길이 되 돌리 기 corp: 그림 의 일부분 캡 처 크기 조정: 그림 크기 조정
location ~ ^/test/(.*)$ {
image_filter size;
root /var/www/_xxx;
index index.html index.htm;
}
출력 정보 유사:
{ "img" : { "width": 1024, "height": 537, "type": "jpeg" } }
JSON 인 데 스트레스 테스트 를 해 봤 는데 기 똥 차 요. 500 개가 병발 하고 CPU 가 17% 정도 차지 해 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.