cheditor스킨에서 cafe24의 CDN 서비스 이용하기 정보
cheditor스킨에서 cafe24의 CDN 서비스 이용하기관련링크
본문
질문답변코너의 불당님의 질문으로 접근해본 cafe24의 CDN 서비스 이용하기
http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=37839
http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=37934
사용을 위한 조건
1. cafe24의 image CDN 서비스를 사용할수있어야 한다.
2. cheditor 에서 제공하는 기능으로 이미지 업로드시에 적용된다.
(그누보드에서 제공하는 이미지 업로드는 해당사항없음)
수정파일 :
$g4_path/cheditor/insert_image.php
수정전 :
if ($success) {
$filename = $save_as_url . $attach->file['name'];
수정후 :
if ($success) {
$ncftp_info = "/usr/bin/ncftpput -u 아이디 -p 비밀번호 -m -DD iup.cdn1.cafe24.com ";
$remote_dir = "/www/$g4[editor]/$ym/ ";
$local_file = $save_as_url . $attach->file['name'];
$ncftp_cmd = $ncftp_info . $remote_dir . $local_file;
system($ncftp_cmd, $status);
// ncftp에서 -DD 옵션을 사용했으므로 파일의 유무에 따라서 성공여부 결정
if(!file_exists($local_tmp)) {
$save_as_url = "http://아이디.cdn1.cafe24.com/$g4[editor]/$ym/";
}
$filename = $save_as_url . $attach->file['name'];
## CDN(Contents Delivery Network) 호스팅이란
여러곳의 IDC 또는 여러대의 ISP에 동일한 컨텐츠를 올려놓고,
접속자가 사용하는 인터넷회선의 종류에 따라 가장 가까운 곳에서
컨텐츠를 불러들일 수 있도록 지원하는 서비스입니다. (cafe24의 설명)
http://hosting.cafe24.com/cdn/cdn_define.php
## ncftpput의 간략설명
NcFTPPut 3.1.8
Usages:
ncftpput [flags] remote-host remote-dir local-files... (mode 1)
ncftpput -f login.cfg [flags] remote-dir local-files... (mode 2)
ncftpput -c remote-host remote-path-name < stdin (mode 3)
Flags:
-u XX Use username XX instead of anonymous.
-p XX Use password XX with the username.
-P XX Use port number XX instead of the default FTP service port (21).
-j XX Use account XX with the account (deprecated).
-d XX Use the file XX for debug logging.
-e XX Use the file XX for error logging.
-U XX Use value XX for the umask.
-t XX Timeout after XX seconds.
-a Use ASCII transfer type instead of binary.
-m Attempt to mkdir the dstdir before copying.
-v/-V Do (do not) use progress meters.
-f XX Read the file XX for host, user, and password information.
-c Use stdin as input file to write on remote host.
-A Append to remote files instead of overwriting them.
-z/-Z Do (do not) try to resume uploads (default: -Z).
-T XX Upload into temporary files prefixed by XX.
-S XX Upload into temporary files suffixed by XX.
-DD Delete local file after successfully uploading it.
-b Run in background (submit job to "ncftpbatch" and run).
-bb Same as "-b" but queue only (do not run "ncftpbatch").
-E Use regular (PORT) data connections.
-F Use passive (PASV) data connections (default).
-y Try using "SITE UTIME" to preserve timestamps on remote host.
-B XX Try setting the SO_SNDBUF size to XX.
-r XX Redial XX times until connected.
-o XX Specify miscellaneous options (see documentation).
-W XX Send raw FTP command XX after logging in.
-X XX Send raw FTP command XX after each file transferred.
-Y XX Send raw FTP command XX before logging out.
-R Recursive mode; copy whole directory trees.
Examples:
ncftpput -u gleason -p my.password Elwood.probe.net /home/gleason stuff.txt
ncftpput -u gleason Elwood.probe.net /home/gleason a.txt (prompt for pass)
ncftpput -a -u gleason -p my.password -m -U 007 Bozo.probe.net /tmp/tmpdir a.txt
tar cvf - /home | ncftpput -u operator -c Server.probe.net /backups/monday.tar
Library version: LibNcFTP 3.1.8 (May 26, 2004).
This is a freeware program by Mike Gleason (http://www.ncftp.com).
This was built using LibNcFTP (http://www.ncftp.com/libncftp/).
http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=37839
http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=37934
사용을 위한 조건
1. cafe24의 image CDN 서비스를 사용할수있어야 한다.
2. cheditor 에서 제공하는 기능으로 이미지 업로드시에 적용된다.
(그누보드에서 제공하는 이미지 업로드는 해당사항없음)
수정파일 :
$g4_path/cheditor/insert_image.php
수정전 :
if ($success) {
$filename = $save_as_url . $attach->file['name'];
수정후 :
if ($success) {
$ncftp_info = "/usr/bin/ncftpput -u 아이디 -p 비밀번호 -m -DD iup.cdn1.cafe24.com ";
$remote_dir = "/www/$g4[editor]/$ym/ ";
$local_file = $save_as_url . $attach->file['name'];
$ncftp_cmd = $ncftp_info . $remote_dir . $local_file;
system($ncftp_cmd, $status);
// ncftp에서 -DD 옵션을 사용했으므로 파일의 유무에 따라서 성공여부 결정
if(!file_exists($local_tmp)) {
$save_as_url = "http://아이디.cdn1.cafe24.com/$g4[editor]/$ym/";
}
$filename = $save_as_url . $attach->file['name'];
## CDN(Contents Delivery Network) 호스팅이란
여러곳의 IDC 또는 여러대의 ISP에 동일한 컨텐츠를 올려놓고,
접속자가 사용하는 인터넷회선의 종류에 따라 가장 가까운 곳에서
컨텐츠를 불러들일 수 있도록 지원하는 서비스입니다. (cafe24의 설명)
http://hosting.cafe24.com/cdn/cdn_define.php
## ncftpput의 간략설명
NcFTPPut 3.1.8
Usages:
ncftpput [flags] remote-host remote-dir local-files... (mode 1)
ncftpput -f login.cfg [flags] remote-dir local-files... (mode 2)
ncftpput -c remote-host remote-path-name < stdin (mode 3)
Flags:
-u XX Use username XX instead of anonymous.
-p XX Use password XX with the username.
-P XX Use port number XX instead of the default FTP service port (21).
-j XX Use account XX with the account (deprecated).
-d XX Use the file XX for debug logging.
-e XX Use the file XX for error logging.
-U XX Use value XX for the umask.
-t XX Timeout after XX seconds.
-a Use ASCII transfer type instead of binary.
-m Attempt to mkdir the dstdir before copying.
-v/-V Do (do not) use progress meters.
-f XX Read the file XX for host, user, and password information.
-c Use stdin as input file to write on remote host.
-A Append to remote files instead of overwriting them.
-z/-Z Do (do not) try to resume uploads (default: -Z).
-T XX Upload into temporary files prefixed by XX.
-S XX Upload into temporary files suffixed by XX.
-DD Delete local file after successfully uploading it.
-b Run in background (submit job to "ncftpbatch" and run).
-bb Same as "-b" but queue only (do not run "ncftpbatch").
-E Use regular (PORT) data connections.
-F Use passive (PASV) data connections (default).
-y Try using "SITE UTIME" to preserve timestamps on remote host.
-B XX Try setting the SO_SNDBUF size to XX.
-r XX Redial XX times until connected.
-o XX Specify miscellaneous options (see documentation).
-W XX Send raw FTP command XX after logging in.
-X XX Send raw FTP command XX after each file transferred.
-Y XX Send raw FTP command XX before logging out.
-R Recursive mode; copy whole directory trees.
Examples:
ncftpput -u gleason -p my.password Elwood.probe.net /home/gleason stuff.txt
ncftpput -u gleason Elwood.probe.net /home/gleason a.txt (prompt for pass)
ncftpput -a -u gleason -p my.password -m -U 007 Bozo.probe.net /tmp/tmpdir a.txt
tar cvf - /home | ncftpput -u operator -c Server.probe.net /backups/monday.tar
Library version: LibNcFTP 3.1.8 (May 26, 2004).
This is a freeware program by Mike Gleason (http://www.ncftp.com).
This was built using LibNcFTP (http://www.ncftp.com/libncftp/).
추천
2
2
댓글 17개
저도 카페24를 이용중인데 CDN서비스에 대한 개념파악이 안돼 포기하고 있었습니다.
다시 한번 봐야겠군요.
다시 한번 봐야겠군요.
기본 traffic이 10G인 경우 CDN으로 10G 트래픽을 줍니다. 합치면 트래픽이 20G인데 CDN을 못써서 더 높은
사양의 서비스로 옮기는 경우가 많답니다. CDN을 쓰면 월 2만2천원짜리 서비스로 3만3천원 효과를 얻을 수
있는 것이죠.
CDN은 간단히 말하면 용량이 큰 컨텐츠를 내 서버가 아닌 ISP(하나로,KT, 파워콤 등)의 망에 접속해두고
그곳에서 컨텐츠를 download해주는 서비스 입니다. 그러면 사용자는 빠르게 대용량의 컨텐츠가 내려오고
서버 운영자는 서버에 가해지는 부담을 줄일 수 있고 ISP는 망을 가로지르는 큰 용량의 데이터를 줄일 수가
있기 때문 입니다.
사양의 서비스로 옮기는 경우가 많답니다. CDN을 쓰면 월 2만2천원짜리 서비스로 3만3천원 효과를 얻을 수
있는 것이죠.
CDN은 간단히 말하면 용량이 큰 컨텐츠를 내 서버가 아닌 ISP(하나로,KT, 파워콤 등)의 망에 접속해두고
그곳에서 컨텐츠를 download해주는 서비스 입니다. 그러면 사용자는 빠르게 대용량의 컨텐츠가 내려오고
서버 운영자는 서버에 가해지는 부담을 줄일 수 있고 ISP는 망을 가로지르는 큰 용량의 데이터를 줄일 수가
있기 때문 입니다.
*^^* root님 덕분에 어려운 문제를 풀 수 있었어요. 도움주셔서 에쿠스님 FAQ 스킨도 고쳤구요 *^^*
그런데, 용량이 아주 큰 그림파일들을 file attach를 쓰는 분들도 많더라구요. 지금은 가끔씩 log를 보고
용량을 줄여주는 작업을 하지만 그것도 매일 할 수 없으니 참 번거롭고 어렵네요. -..-a
파일첨부를 하는 경우에도 CDN을 이용하는 방법을 쓰면 프로그램을 배포하거나 사진 이미지가 많은
사이트의 경우 아주 많이 유용할 것 같습니다.
업로드를 할 때는 비슷하게 수정을 하고 ...
글보기를 할 때 view.skin.php에서 wr_cdn1이 1이면 $view[file]의 서버를 cdn으로 벼꿔서
파일이 존재하는지 확인해서 존재하면 로딩하고 아니면 $view[file]을 로딩 하면 되지 않을까요???
그런데, 용량이 아주 큰 그림파일들을 file attach를 쓰는 분들도 많더라구요. 지금은 가끔씩 log를 보고
용량을 줄여주는 작업을 하지만 그것도 매일 할 수 없으니 참 번거롭고 어렵네요. -..-a
파일첨부를 하는 경우에도 CDN을 이용하는 방법을 쓰면 프로그램을 배포하거나 사진 이미지가 많은
사이트의 경우 아주 많이 유용할 것 같습니다.
업로드를 할 때는 비슷하게 수정을 하고 ...
글보기를 할 때 view.skin.php에서 wr_cdn1이 1이면 $view[file]의 서버를 cdn으로 벼꿔서
파일이 존재하는지 확인해서 존재하면 로딩하고 아니면 $view[file]을 로딩 하면 되지 않을까요???
직접적으로 CDN을 운영하는걸까요? 제 생각엔 CDN전문업체와 제휴로 하지 않을까 싶은데..
앞으로 CDN이 일반적인 상황으로 갈지도 모르겠습니다만...
CDN호스팅이라 머리 좋군요.
앞으로 CDN이 일반적인 상황으로 갈지도 모르겠습니다만...
CDN호스팅이라 머리 좋군요.
좋은 정보 감사합니다.....일단 스크랩을....
CDN 도 모르고 살았단 말이에욧! 미워욧!
지금도 모릅니다......아는게 워낙 없어서요...
CDN이 뭔지 좀 알려 주세욧....ㅠ..ㅠ
CDN이 뭔지 좀 알려 주세욧....ㅠ..ㅠ
복잡해서 시러잉
cafe24를 사용하는데 몇일전 트래픽때문에 서버가 다운되는 현상이.. 아주 좋은 팁입니다.. ^^;;
g
rsync 명령을 쓰면 간단히 data를 다른 서버로 sync 시킬 수 있는데, cafe24에서는 못쓰게 했더군요
일반 사용자들이 쓰면 시스템에 무리가 간다고 ... -.-a
일반 사용자들이 쓰면 시스템에 무리가 간다고 ... -.-a
일반 업로드에선 사용할 수 없나요 ㅠ?
일반 업로드라 하심은 ?
그누보드의 스킨에있는 업로드 말씀이신가요?
그렇다면 그부분은 처리되지 않습니다.
위 소스는 cheditor에 있는 업로드 부분만 수정한것입니다.
참고로 cheditor 스킨에서 수정/삭제시에 이미 올라간 이미지는 삭제처리되지 않습니다.
ps. 일반스킨의 업로드에 대해서 CDN 서비스를 이용하기를 적용한다면
입력/수정/삭제시에 이미지 처리에대한 부분이 현재 그누보드 기본 로직과 부함되어야 한다고 생각되는데
이부분이 검토되지 않아서 작업하지 않았습니다.
위에대한 로직을 점검하자면 위의 단순한 업로드로 처리하는것보다 좀더 복잡하고 긴 시간이 필요할듯 합니다. ^^
그누보드의 스킨에있는 업로드 말씀이신가요?
그렇다면 그부분은 처리되지 않습니다.
위 소스는 cheditor에 있는 업로드 부분만 수정한것입니다.
참고로 cheditor 스킨에서 수정/삭제시에 이미 올라간 이미지는 삭제처리되지 않습니다.
ps. 일반스킨의 업로드에 대해서 CDN 서비스를 이용하기를 적용한다면
입력/수정/삭제시에 이미지 처리에대한 부분이 현재 그누보드 기본 로직과 부함되어야 한다고 생각되는데
이부분이 검토되지 않아서 작업하지 않았습니다.
위에대한 로직을 점검하자면 위의 단순한 업로드로 처리하는것보다 좀더 복잡하고 긴 시간이 필요할듯 합니다. ^^
CDN서비스를 이렇게 이용할 수 있군요;;
이상하게 CDN서버에 cheditor폴더가 생성이 않되네요. 미리 만들어줘야 되나요?
아..어렵다;
cdn 사용하기