Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- release unsigned
- Program type already present
- 안드로이드
- FLUTTER
- apache gzip
- Android
- html
- tomcat
- Android Apk
- Eclipse
- css
- DataTable
- Android Apk 이름 변경
- android fragment
- fragment
- java error
- Exception
- R프로그래밍
- error
- spring
- jQuery
- release Apk
- Java
- Kotlin
- CSS사용법
- JavaScript
- MySQL
- Android Apk 이름
- Firebase
- android error
Archives
- Today
- Total
selfstarter
apache gzip 설정 본문
gzip이란?
- 파일 압축 소프트웨어
- 대부분의 웹브라우저에서 사용 가능
- gzip을 사용 시 요청한 내용을 압축해서 response 받는다.
- 브라우저에서 압축을 푼 결과를 보여주기 때문에 내용으로 압축여부를 확인할 수 없다
mod_jk 설치
apach와 tomcat이 있을 경우 apach와 tomcat을 연결시키는 mod_jk 설치
tomcat만 사용할 수 있지만, apach(WebServer)는 정적인 데이터를 처리하고 tomcat(WAS)은 동적인 작업을 하도록 나눈다. 이유는 부하를 분산하거나 속도의 이점을 얻기 위해서다. 또 tomcat에서 설정할 수 없는 설정을 apach에서 할 수 있다(gzip)
mod_jk를 다운로드 받고 컴파일, 설치한다
apxs의 위치를 찾아보고 없으면 설치
wget http://ftp.daum.net/apache//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz tar zxvf tomcat-connectors-1.2.37-src.tar.gz cd tomcat-connectors-1.2.37-src/native ./configure --with-apxs=/usr/sbin/apxs make make install
mod_jk 설정
- vi conf/mod_jk.conf 파일 생성
- JkMount나 JkMountFile을 설정(나는 JkWorkersFile경로에 workers 파일이 안읽어져서 JkMount 사용)
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
# worker 파일 위치. conf 디렉토리와 같은 곳에 있어야한다
JkWorkersFile "/web/apache/conf/workers.properties"
# mod_jk log 위치
JkLogFile "/web/apache/logs/mod_jk.log"
# mod_jk log 레벨
JkLogLevel info
JkMountFile "/web/apache/conf/uri.properties"
JkShmFile "/web/apache/logs/mod_jk.shm"
JkMount /* worker1
</IfModule>
vi conf/workers/properties 파일 생성
tomcat 정보 작성
worker.list=worker1 worker.worker1.port=(톰캣 ajp 포트번호) worker.worker1.host=(톰캣 ip) worker.worker1.type=ajp13 worker.worker1.lbfactor=1
vi conf/workers/properties 파일 생성
/*.do=worker1 /*.jsp=worker1
vi conf/httpd.conf 맨 마지막 줄에 추가
Include conf/mod_jk.conf
잘 연동되었는지 apach 포트 80으로 접속. tomcat의 웹페이지가 보인다면 성공
gzip 설정
httpd.conf 수정. 아래 내용 없으면 추가
LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule filter_module modules/mod_filter.so
gzip 압축할 파일 설정, 로그 설정
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/json DeflateCompressionLevel 9 BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.xx에는 HTML만 압축해서 보냄 BrowserMatch ^Mozilla/4\.0[678] no-gzip # Netscape 4.06~4.08에는 압축해서 보내지 않음 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # 자신을 Mozilla로 알리는 MSIE에는 그대로 압축해서 보냄 ##예외 설정 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|bmp|zip|gz|rar|7z)$ no-gzip dont-vary ####로그설정. ##DeflateFilterNote Input instream ##DeflateFilterNote Output outstream ##DeflateFilterNote Ratio ratio ## ##LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate ##CustomLog logs/deflate_log deflate <IfModule>
gzip 설정 확인
- content-type이 gzip인지 확인
- crome 개발자 도구에 Network - transferred 로 response 크기가 달라진 것을 확인할 수 있다.
- api가 gzip으로 압축되지 않았다면 json 도 압축한다는 설정을 넣어줄 것(AddOutputFilterByType DEFLATE application/json)
'Server > Spring' 카테고리의 다른 글
Tomcat Error unknown version of Tomcat was specified (0) | 2020.05.15 |
---|---|
apache gzip filter 설정 (0) | 2019.10.09 |
HttpServletRequest 모든 파라미터 가져오기 (0) | 2019.09.16 |
json list 안에 list 읽기 (0) | 2019.07.15 |
Spring resources 위치 가져오기 (0) | 2019.07.13 |
Comments