Skip to content
다크 모드

RXE 이미지 압축

조회 수
228
추천 수
0
등록일

주요 특징

  • files 테이블에 첨부하는 이미지 파일을 압축 합니다.
  • 압축 대상: jpg(jpeg), png, gif, svg, webp
  • 효과: 본 사이트에 첨부된 이미지 파일을 압축하여 약 5.5GB SSD 용량을 확보함.
    (direct_download=Y 조건의 첨부 파일이 약 57,000건 첨부되어 있음)

작동 방식

  1. optimize old images: 이미 첨부된 과거 파일을 대상 (수동)
  2. insert trigger (require): 첨부하는 신규 파일을 대상 (자동)
    이미지인 파일이 첨부 완료되면 압축을 실행합니다.
    압축에 성공하면 덮어씌우고 용량을 기록, 압축에 실패했다면 건너뜁니다.

설치 요구조건

  • Rhymix (XE 배제하진 않았으나 테스트하지 않았음)
  • 다음 명령어를 실행 가능해야 합니다: (일반 웹 호스팅 사용 불가!)
    composer install
    composer install (modules/imgopt 경로에서 실행, 설치 링크, 위 캡쳐 참조)
    • Ubuntu
      sudo apt-get install jpegoptim optipng pngquant gifsicle webp
      sudo npm install -g svgo
    • Fedora/RHEL/CentOS
      sudo dnf install epel-release
      sudo dnf install jpegoptim optipng pngquant gifsicle libwebp-tools
      sudo npm install -g svgo
    • MacOS
      brew install jpegoptim optipng pngquant gifsicle webp
      npm install -g svgo

매뉴얼 (=관리자 화면)

imgopt manual

캡쳐에 나온 순서대로 서술하겠습니다.

  1. test optimize: 님의 서버에서 이미지 압축이 작동하는지 테스트 합니다.
  2. optimize old images: 이미 첨부된 과거 파일을 압축합니다.
    숫자 값을 20, endless loop 체크해서 optimize 버튼을 누르면 최근 첨부된 이미지를 시작으로 20개 단위로 압축합니다.
    중간에 오류가 나거나 브라우저 탭을 껐다면 다시 endless loop 체크해서 실행하면 됩니다.
  3. insert trigger: 새로 첨부되는 이미지 파일이 압축됩니다.
  4. logs
    • optimize old images: 의해 절약된 용량
    • by trigger (file.insertFile): 의해 절약된 용량
    • bi widget (or test optimize): 추가 기능 개발하다가 의미 없게됨.
  5. create table
    • 압축 결과를 DB 에 기록합니다.
    • 통계가 필요없다면 테이블을 생성하지 않아도 됩니다.
    • InnoDB, MyISAM 둘 중 하나를 선택할 수 있습니다.
      파일 업로드가 빈번하면 InnoDB 형식을 추천합니다.
      참고로 이 사이트에는 MyISAM 선택 했습니다.
  6. config (optional)
    disable_functions 옵션으로 php-fpm 에서 proc_open 등의 명령어를 제한할 경우 이 옵션이 필요합니다.
    curl 받는 내부 아이피를 ip.txt 파일을 생성 및 작성합니다. (ip.sample.txt 참조)

라이센스

  • GPL v2
  • https://github.com/spatie/image-optimizer - The MIT License (MIT). Please see License File for more information.
등록된 소개글이 없습니다.
댓글 7
  • 댓글 #12116457

    안녕하세요 설치 문의 드립니다
    설치 요구 조건에서 다음 명령어 실행 부분이 잘 이해가 가질 않는데
    참고할 만한 것이 있을까요? 초보라서 최대한 찾아보면서 하고 있는데 생각보다 복잡하네요 ㅠㅠ
  • 댓글 #12118848

    트디개발자
    fastcomet 터미널에서 https://getcomposer.org/download/
    위 링크를 참고하여 컴포저 설치를 했는데요 이후 이미지 압축 테스트를 하면 실패했다고 뜹니다
  • 댓글 #12119991

    도그마
    1. 사용중이신 호스팅 상품명이나 링크를 알려주셔야 적용 가능 여부를 파악할 수 있습니다.
    2. composer install 이후 님의 운영체제에 맞는 라이브러리 (jpegoptim optipng pngquant gifsicle webp 등) 설치가 필요합니다. 본문에 기재되어 있듯이 일반 웹 호스팅은 권한이 없으므로 설치가 불가능합니다.
다크 모드
쓰기