먼저 CSS, JS파일, gzip으로 한꺼번에 압축해서 전송하기
1. 아파치의 경우 입니다.
1. http://code.google.com/p/minify/ 에서 minify 최신버전을 다운받습니다. 현재는 minify 2.1.5 버전입니다.
2. 압축해제 한후, min 폴더내의 config.php 파일을 에디터에서 불러오기 합니다.
3. 47번째쯤 라인의 //$min_cachePath = '/tmp'; 라는 부분을 $min_cachePath = './tmp'; 로 수정합니다.
4. min 폴더안에 tmp 라는 폴더를 새로 만들기합니다.
5. min 폴더를 FTP 로 서버의 루트디렉토리에 업로드합니다.
6. 서버에 업로드된 min 폴더안의 tmp 폴더의 퍼미션을 707 로 권한 변경합니다.
7. XE 설치폴더안의 .htaccess 파일을 에디터에서 불러오기합니다.
8. 아래의 2가지 경우중 해당되는 구문을 .htaccess 파일의 맨 아랫줄에 추가합니다.
XE 설치경로가 /xe/ 로 사용되는 경우
RewriteRule ^(.*\.(css|js))$ ../min/index.php?f=xe/$1 [L]
XE 설치경로가 루트디렉토리인 경우
RewriteRule ^(.*\.(css|js))$ /min/index.php?f=$1 [L]
9. 수정한 .htaccess 파일을 XE 폴더에 덮어쓰기 합니다.
제대로 설치됐는지 확인하시려면 사이트를 들어가서 트래픽을 발생시키셔서 tmp 폴더에 minify_xml ...로 시작하는 이상한 이름의 파일들이 생성되면 Okay!
* sejin7940님께서 말씀하신 것처럼 minify는 PHP 5.1.6 이상(5.2.1이상이라고 어떤 글에는 써있네요.), 5.3 권장입니다.
rewrite mod 도 지원해야 합니다.
이 이하의 버전에서는 잘 안될 수가 있습니다. 버전 확인 방법은 :
"자신의 php 버전을 확인하고프면..
그냥 root 에다가 <?=phpinfo()?> 를 적은 파일을 하나 생성하고 ( phpinfo.php 처럼)
그 파일을 웹상으로 접근해보면 php 버전을 확인가능합니다. " - sejin7940님
* 만일 레이아웃이 깨지면 min 폴더를 XE가 있는 폴더 안에 넣으세요~~ 이렇게요... - 넥스트코코님.
* 카페24에서 잘 안될때.... .htaceess 화일에
RewriteRule ^(.*\.(css|js))$ ./min/index.php?f=$1 [L]
로 넣어보세요.....^^ - 빛의바다님.
(참고로 저도 카페24를 사용하는데 빛의 바다님 구문말고, 원래 구문으로 잘됩니다.)
RewriteRule ^(.*\.(css|js))$ ./min/index.php?f=$1 [L]
* 코어가 업데이트 되면 .htaccess 화일에 구문추가를 해주셔야 합니다.
2. nginx의 경우 입니다.
모두 같은 방법으로 하면 되지만 리라이트룰을 htaceess 파일에서 제어를 하지 않으니
vi minify.conf
#xe_rewrite_minify
rewrite ^/(.*\.(css|js))$ /min/index.php?f=$1 last;
위와 같이 리라이트룰 파일을 만드셔서
가상호스트 설정 파일에서
# xe_minify rewrite 설정 인클루드
include minify.conf;
인클루드 해 주시면 됩니다.
gzip압축 디렉터리로 시스템 메모리 사용하기
/dev/shm 으로 이동하여 tmp 폴더를 생성해줍니다
1 2 | cd /dev/shm mkdir tmp |
폴더 소유주를 웹서버로 변경합니다 (저는 NGINX사용중이므로 nginx로 설정했습니다
1 | chown nginx:nginx tmp |
폴더 퍼미션을 705 or 707로설정해줍니다 (테스트 결과 소유주가 7이라 차이없습니다)
1 | chmod 777 tmp |
min 폴더로 들어가 config.php를 열어줍니다
1 2 | cd xe/min vi config.php |
47 번째줄 $min_cachePath = '/tmp'; 부분을 /dev/shm/tmp 로 수정합니다
1 2 | $min_cachePath = '/tmp'; >>>> $min_cachePath = '/dev/shm/tmp'; |
저장후 브라우져 캐시를 비워주신뒤
홈페이지에 접속하여 캐시파일재생성 후에
tmpfs에 만든폴더에 캐시파일이 쌓이나 확인해주시면됩니다
1 2 | cd /dev/shm/cache ls -al
|