리눅스에서 JPG 이미지 파일 압축하는 방법

리눅스

리눅스로 웹서버를 운영하다 보면 다량의 이미지 파일을 업로드하게 되어 대부분의 트래픽을 차지하게 됩니다. 각 CMS 마다 이미지 퀄리티를 조절하는 플러그인이 존재하는데 워드프레스 같은 경우에는 ewww image optimizer나 wp smush it 같은 플러그인으로 이미지 파일을 압축해서 트래픽을 절감할 수 있는데요.

CMS상에서 구동되는 플러그인은 PHP 연산을 거쳐 처리되고 플러그인 속도에 차등을 두고 유료로 유도하는 경우도 있어 동작 속도가 느립니다. 더군다나 이미지 파일이 몇천개나 될 경우에는 몇시간이나 걸리게 되죠.

만일 블로그나 사이트를 운영하면서 웹서버 관리자라면 웹에서 구동되는 프로그램 말고 리눅스 상에서 빠르게 jpg 이미지를 압축할 수 있습니다.

jpegoptim 설치

# apt-get install jpegoptim // 데비안&우분투
# yum install epel-release // Centos
# dnf install epel-release // 페도라 22 이상

jpg 이미지를 압축하기 위해 jpegoptim를 설치합니다.

사용 방법

# jpegoptim 파일명.jpg
# jpegoptim -옵션 파일명.jpg

기본 syntax는 다음과 같습니다. 하지만 파일을 하나하나 압축하지는 않기 때문에 필자는 다음과 같은 명령어로 웹서버 폴더 전체 이미지를 압축했습니다.

# find ./* -name '*.jpg' -exec jpegoptim {} \;

리눅스를 잘 사용하시는 분들은 잘 활용하실 테지만, 초보자를 위해 예시를 들어 봤습니다. 웹에 퍼블리싱되는 루트 폴더로 이동한 다음 위 명령어로 디렉토리 하위 모든 jpg 파일을 압축합니다.

보통 8~10%정도의 이미지 압축률을 보이고 처리 속도 또한 플러그인과는 비교할 바가 안되기 때문에 5000개 정도의 이미지를 압축하는데 20분이 채 걸리지 않았습니다. 물론 서버 사양에 따라 다르겠지만요.

- 리눅스에서 JPG 이미지 파일 압축하는 방법

아쉬운 점을 굳이 들자면 jpegoptim는 싱글코어로 작동합니다. 4코어에서 CPU 사용률이 20% 전후에서 왔다갔다 하네요.

# man jpegoptim
# jpegoptim --help

좀더 자세한 jpegoptim 옵션을 보고 싶다면 위 명령어로 옵션을 찾아 활용해 보세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.

Linux 크론탭 Crontab 사용법
Linux 크론탭(Crontab) 사용법
크론탭(Crontab)은 리눅스에서 정해진 시간에 스크립트나 데몬 등을 실행하는 스케줄러(Scheduler) 기능입니다. 특정 시간, 요일에 특정한 작업을 실행해야 하거나 반복 작업을 할…
우분투 컴퓨터 이름 Hostname 변경하는 방법
우분투 컴퓨터 이름 hostname 변경하는 방법
우분투에서 터미널을 열거나 네트워크 공유를 사용해야할 때 표시되는 컴퓨터 이름은 hostname이라고 불리며 hostname을 변경하면 우분투에 표시되는 컴퓨터 이름을 지정할 수…