그누보드 이미지 캐시서버 구축을 위한 Nginx 셋팅 정보
그누보드 이미지 캐시서버 구축을 위한 Nginx 셋팅관련링크
본문
한동안 이미지 트래픽 분산을 위해서 노력해왔습니다.
프록시 서버, 캐시 서버 , Nginx 셋팅 등등 많이 봤던 것 같습니다.
그래서 그누보드에는 뭐가 제일 좋을까!? 고민을 많이했습니다.
어떻게 하면 사람들이 더 쉽고 편하게 구축할 수 있을까? 이것도 생각했구요.
결론적으로 말하자면 @라엘 님 블로그에서 찾았다.. 라고 할 수 있겠네요.
Nginx를 쓰고 있지만, 실제 활용방법은 잘 모르고 있었거든요.
간단하게 요청되는 /data 폴더의 URL을 cdn 주소로 치환하면 됩니다.
php 함수를 이용하거나, CDN 관련 플러그인을 이용하거나, DB를 직접수정하는 방법도 있지만
지식이 필요하거나 돈(의뢰)가 필요하거나, DB를 직접 조작하고 수정해서 문제가 생길 위험도 있죠.
그런데 Nginx에서 자체적으로 /data/ 이하의 폴더에 요청되는 URL을 CDN 서버로 치환해줄 수 있습니다.
CDN 서버를 사용하고 싶지 않다면 Nginx 설정에서 수정해주면 다시 돌아갈 수 있구요.
그 방법은 Nginx의 sub_module을 이용하는 것입니다.
찾아보니 한두번씩 봤던 것인데, 실제로 어떻게 사용하는지 몰랐거든요.
Nginx 설정에서
sub_filter “https://example.com/data/editor/” “https://cdn.example.com/data/editor/”;
sub_filter “https://example.com/data/file/” “https://cdn.example.com/data/file/”;
위와 같이 넣어주면 끝나는거죠.
이렇게 셋팅하고
cdn.example.com 이 돌아가는 서버에 @라엘 님 블로그 글(https://blog.lael.be/post/7605) 그대로 셋팅하면 되겠습니다.
참 쉽죠?
참고로 저는 오라클클라우드 서울 리전 무료인스턴스로 반쯤 쓰고 있는데, 오늘내일 셋팅해서 100% 캐시서버로 이전해보도록 하겠습니다.
정리되면 글 하나 남겨볼게요.
!-->4
댓글 8개
지난번 code-server를 우여곡절에 오라클 서버에 설치했는데 syntax highlighting이 안되는 군요. 꺼먼 화면에 흰색 코드만 주욱~
이상하게 letsencyrpt 없이 아이주소:포트 로 접속하면 코드가 색색 이쁘게 나오구요. 따로 뭐 설치해줘야 하나요? vscode 별로 써보지를 않아서요 ^^
음.. 저는 잘 되던데... Nginx 설정 문제이지 않을까요?
코드 서버 문제가 뭐냐면 실행할 때 연결되어있는 볼륨의 소유권이 전부 넘어가는 것입니다.
저는 ubuntu라는 계정으로 수정하는데, 코드서버를 재생성하면 전부 정해져있는 권한으로 바뀌더라구요 ㅎㅎ
폴더권한만 바꾸면 문제없지만 조금 거시기하더군요 ㅎ
검색해보니 가끔 syntax highlighting 이 안되는 버그가 있는 거 같아요. 리눅스 버전에 따라 틀린건지..
어짜피 코드 서버 한번 실행되면 그 뒤론 다시 시작할 일은 없으니깐요.
그 후에 폴더 권한을 원하는 권한으로 바꾸면 되더군요 ㅎ
아니면 그누보드의 경우 DATA 폴더만 777로 바꾼후
ubuntu 같은 자신의 계정으로 권할을 주게하면 아무 문제없이 잘 되더라구요.
코드 하이라이트는 버그가 있는지 몰랐네요. 우분투20.04에서는 문제없었습니다.
캐시서버는 서버 부하를 줄여주죠.
이미지 땡겨오는건 다른 서버로 가니깐요.
로딩시간은 큰차이없을테구요.
핵심은 우리나라 사정상 트래픽을 엄청 짜게 주는데
이미지만이라도 저렴한 아마존 라이트세일 같은 것으로 분배하면 요금절약에 도움이 많이 될거예요.