Lightsail 로 서버 이전 후기

계속 사용해오던 cloudv의 가상서버에서 aws의 새로운 서비스인 lightsail로 이전했다.

굳이 웹호스팅을 쓰지 않고 가상서버로 구성해서 사용하는 것은 git 저장소도 한몫했는데 일단 혼자서 사용하다보니 뭐하러 이런걸 해야하나…라는 회의감과 그럴거면 차라리 github에서 사람들과 같이 코드를 만들고 올리고 하는게 더 낫겠다는 생각이 들었기 때문이었다. 그래서 차라리 웹데이터들은 더 저렴한 lightsail로 이전하고 git 데이터들은 github.com 으로 이전하기로 했다.

lightsail은 사용해보니 그냥 흔히 알고있는 가상서버다. 우리나라에서는 이미 많이 서비스하고 있는.

그런데 가격이 생각보다 싸다. 내 경우에는 월 5달러의 제일 저렴한 리눅스 서버로 골랐다. 메모리 512MB에 20GB의 디스크다. 디스크야 어차피 git 데이터가 github로 넘어간 이상 많이 필요치 않았지만, 너무 적은 메모리와 알 수 없는 cpu 성능 때문에 고민을 했다. 고민 끝에 최대한 메모리를 적게 쓰도록 아파치를 쓰지 않고 nginx로 쓰기로 했다.

그리고 어차피 방문객이 많지도 않고 방문객이 많으면 인스턴스를 늘리면 끝이니까.

bitnami의 여러 스택이 있었는데 사용하기 편하게 wordpress 스택을 선택하려 했지만 이 경우에는 멀티사이트를 만들기에 불편할 것 같아서 그냥 nginx 스택을 선택하고 직접 설정해서 아내의 홈페이지와 내 블로그 두개를 설치했다. nginx 설정 파일이 익숙치 않아서 약간 헤매었지만 금방 적응했다. bitnami류의 패키지 시스템이 마음에 들지 않았지만 직접 써보니 생각보다 괜찮았다. 멀티앱/멀티사이트간 여러 설정 파일들이 서로 꼬이지 않게 잘 정리되어 있었다. (물론 그런 이유로 인해 뭔가 하나 고치려면 한참 경로를 타고 들어가야 한다는건 불편하다.)

여튼 그렇게 설치하고 아파치에서 nginx로 변경했는데 와우… 속도가 생각보다 괜찮았다. 내가 아파치로 혼자 가상서버를 쓰는 것보다 훨씬 빨랐다.

접속방법에서 약간의 불편함은 있지만 어차피 접속할 일도 별로 없고… 게다가 1TB의 트래픽은 트래픽 걱정할 필요는 아예 없을만큼 정말 여유로웠다.

며칠간 여러 데이터들을 이전해본 후기

  1. 생각보다 속도가 빠름.
    도쿄 리전이고 가상서버에다가 메모리도 겨우 512MB라서 느릴 것으로 예상했지만 기존 서버보다 훨씬 빠른 느낌. 아파치와 엔진엑스의 차이인지도…
  2. 시간대 재설정 필요함.
    설치하게 되면 서버 시간을 한국에 맞춰야한다. ( https://gist.github.com/dongbum/1673616e33fb331ff8e876ee62216988 으로 저장해둔다.)
  3. 설정파일 트리구조를 잘 파악해둘 것.
    엔진엑스에 익숙치 않거니와 구조가 좀 복잡하긴하다.
  4. DNS 응답 속도가 아주 빨라짐.
    BIND나 PowerDNS로 네임서버를 직접 구성해서 썼었는데 그렇게 쓰는것보다 lightsail에서 제공하는 DNS의 응답속도가 훨씬 속도가 빨랐다. 거의 100배 정도.
  5. lightsail의 DNS는 Route 53과 약간 다름.
    lightsail에서도 300만 쿼리까지는 무료로 DNS를 제공해주는데 사용하기는 너무 편하게 되어있지만 기능적인 면에서는 Route 53 보다는 떨어진다.
  6. 512MB의 메모리로도 충분함.
    가장 저렴한 512MB 메모리의 인스턴스로도 블로그와 몇가지 개인서비스를 운영하는데에는 차고 넘치는 느낌이다.
  7. 사용상 몇가지 불편함이 있음.
    bitnami 패키지의 특성인지 보안을 위해 암호 같은게 어렵게 설정되어 있어서 약간 불편함. 암호를 일일히 바꾸고 쓰기보다는 그냥 쓰기로 결정했다.

 

2018년 5월 17일 추가

얼마전 Lightsail 에도 서울 리전이 생겼다. 한국 사람들은 서울 리전 쓰면 될듯. 난 그냥 귀찮아서 계속 도쿄에 내버려두는 중.

2018년 6월 27일 추가

스냅샷을 생성하여 서울 리전으로 옮기려 했지만 스냅샷으로 인스턴스 생성은 같은 리전으로 밖에 되지 않았다. 리전간 스냅샷 전송기능이 생길 때까지 기다려야 할듯하다.

19 Replies to “Lightsail 로 서버 이전 후기”

  1. 안녕하세요 푸우시로 라고 합니다. (부디 이글을 보시기를.. ㅠㅠ)

    저도 라이트세일에 Nginx 인스턴스를 생성후 워드프레스를 설치했습니다.
    아래의 가이드대로 따라해서 http://도메인/wordpress 접속까지는 성공했는데..
    https://docs.bitnami.com/bch/infrastructure/nginx/

    도메인을 입력하면 바로 워드프레스 화면이 뜨도록 검색해보았는데 계속 실패하네요.. ㅠㅠ
    좀 도와주세요… ㅠㅠ

    매뉴얼에 문제가 있는지.. 어떻게 된건지..잘 모르겠습니다.
    설정하신 방법좀 자세히 알려주시면 안될까요..

    부탁드립니다.

      1. 아.. 링크는 저의 티스토리 블로그 이구요. 지금 헤매고 있는 주소는 okcyber.com/wordpress 입니다.

        설정파일은 아래와 같습니다.

        첫번째 : /opt/bitnami/apps/wordpress/conf/nginx-app.conf

        index index.php index.html index.htm;

        if (!-e $request_filename)
        {
        rewrite ^/(.+)$ /index.php?q=$1 last;
        }

        location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_read_timeout 300;
        fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
        }

        두번째 : /opt/bitnami/apps/wordpress/conf/nginx-prefix.conf

        location /wordpress {
        alias “/opt/bitnami/apps/wordpress/htdocs”;
        include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
        }

        세번째 : /opt/bitnami/nginx/conf/bitnami/bitnami.conf

        # HTTP server

        server {
        listen 80;
        server_name localhost;

        location / {
        root html;
        index index.html index.htm;
        }

        include “/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf”;
        include “/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf”;
        }

        # HTTPS server

        server {
        listen 443 ssl;
        server_name localhost;

        ssl_certificate server.crt;
        ssl_certificate_key server.key;

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;

        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        location / {
        root html;
        index index.html index.htm;
        }

        include “/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf”;
        include “/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf”;
        }

        include “/opt/bitnami/nginx/conf/bitnami/bitnami-apps-vhosts.conf”;

        네번째 : /opt/bitnami/apps/wordpress/conf/nginx-vhosts.conf

        server {

        listen 80;
        root “/opt/bitnami/apps/wordpress/htdocs”;
        server_name wordpress.example.com http://www.wordpress.example.com;

        include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
        }

        server {

        listen 443 ssl;
        root “/opt/bitnami/apps/wordpress/htdocs”;
        server_name wordpress.example.com http://www.wordpress.example.com;

        ssl_certificate “/opt/bitnami/apps/wordpress/conf/certs/server.crt”;
        ssl_certificate_key “/opt/bitnami/apps/wordpress/conf/certs/server.key”;

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;

        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
        }

        이상입니다. okcyber.com/wordpress ===> okcyber.com

        루트폴더에 워드프레스를 설치해도 되지만, 이렇게 서브 디렉토리에다가 개별로 설치를 해놓고
        메인주소나 2차도메인으로 각각 연결하고 싶습니다.

        여기서 구글링이나 매뉴얼대로 조정을 해보면 번번히 실패하네요.. 여기서 어떻게 조정해야 하는지좀
        부탁드립니다.

        빠른답변 감사드립니다. ㅠㅠ

        1. 아래내용은 제가 푸우시로님이 올린 conf 파일을 보고 조언해드리는 것이므로 틀릴 수도 있으니 푸우시로님이 잘 확인해보고 적용하세요.

          nginx-app.conf 파일은 수정할게 없을 것 같습니다. (사실상 PHP 작동에 관한 내용뿐)
          nginx-prefix.conf 파일은

          location /wordpress {
          alias “/opt/bitnami/apps/wordpress/htdocs”;
          include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
          }

          이 부분을,

          location / {
          alias “/opt/bitnami/apps/wordpress/htdocs”;
          include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
          }

          으로 수정하시구요.

          /opt/bitnami/apps/wordpress/conf/nginx-vhosts.conf 파일은

          server {

          listen 80;
          root “/opt/bitnami/apps/wordpress/htdocs”;
          server_name wordpress.example.com http://www.wordpress.example.com;

          include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
          }

          부분을,

          server {

          listen 80;
          root “/opt/bitnami/apps/wordpress/htdocs”;
          server_name okcyber.com;

          include “/opt/bitnami/apps/wordpress/conf/nginx-app.conf”;
          }

          으로 수정하시구요.

          마지막으로 /opt/bitnami/nginx/conf/bitnami/bitnami-apps-vhosts.conf 파일 내용을 살펴보세요.

          include “/opt/bitnami/apps/wordpress/conf/nginx-vhosts.conf”;

          이 줄이 들어있어야 합니다.

          다 수정한 후에 엔진엑스 한번 재시작하시구요~

          잘 되시길 바랍니다. 🙂 성공하면 다시 리플 주세요~

          1. 조언해 주신대로 적용하고 다시시작하니

            nginx: [emerg] open() “/opt/bitnami/nginx/conf/“/opt/bitnami/apps/wordpress/conf/nginx-app.conf”” failed (2: No such file or directory) in /opt/bitnami/apps/wordpress/conf/nginx-prefix.conf:3

            와 같은 에러가 나옵니다.

            참고로 저의 워드프레스 설치 디렉토리 위치는..

            /opt/bitnami/apps/wordpress/

            입니다.

    1. /opt/bitnami/apps/wordpress/conf/nginx-prefix.conf 파일의 3번째줄에 문제가 있다는 에러메시지입니다. 해당 부분에 가서 다시 한번 확인해보세요.

      1. 안녕하세요 dongbum님 :

        매뉴얼대로 처음부터 차근차근 따라하다가, 조언해 주신 분량만 수정하니 이제서야 됩니다!

        불편하실텐데 친철하게 답변 달아주셔서 너무 감사드립니다.

        이제 nginx 스택위에 각 어플 폴더 넣어서 다수의 프로그램을 운영할 수 있게 되었네요~

        1. 도움이 되셨다니 다행입니다. 지금 가보니 잘 접속되네요.

          저도 nginx 스택으로 인스턴스 하나에서 여러개의 사이트를 운영 중입니다. 혹시나 다른 도움 필요하면 알려주세요. 🙂

          1. 네, 도와주신 덕분에 설치 잘 마쳤습니다.

            다음에는 Nginx에 웹데브를 설치해서 데스크탑이 나 아이패드 어플에 연동해서 쓰는걸 공부해볼까 합니다.

            감사합니다.

  2. 안녕하세요. 라이트세일의 가장 낮은 플랜으로 워드프레스를 최근에 이전하여 여러자료를 찾던 중 방문하게 되었습니다.
    인스턴스를 최초 linux 로 구성해서 아파치 mysql php 7.2 를 설치하고 워드프레스를 사용 중인데요.
    이게 툭하면 메모리 부족에 시달리거나(스왑 파일 생성 했습니다. ㅠ) 서버 응답 속도가 매우 늦게 나오고 있습니다.

    엔진엑스와 아파치의 차이가 크게 나는지 궁금합니다.

    1. 저도 가장 낮은 플랜 사용 중입니다.

      저도 웹서버쪽은 전문이 아니라 직접 테스트해본 결과물은 없지만, 일반적으로 아파치에 비해 nginx의 메모리사용량이 훨씬 더 적다고 합니다. 이건 네트워크IO 처리 방식 때문에 그렇구요. 커넥션마다 메모리를 소비하는 아파치의 구조상 사용자가 많아지면 많아질수록 아파치와의 성능차이는 더 늘어난다고 합니다.

      하지만 작은 개인블로그나 개인웹사이트라면 사실 아파치든 엔진엑스든 별 차이가 없을 것으로 예상됩니다. 어차피 커넥션이 많지 않을 것이므로. 쉬운커피 사이트는 별로 속도가 느려보이지 않는데 어떤 부분이 문제인가요?

      라이트세일은 어차피 비용이 많이 들지 않으니 인스턴스를 하나 더 생성해서 같은 사이트를 엔진엑스로 테스트해보는 것도 괜찮을 것 같습니다.

      1. 서버는 이번에 처음 만지다보니, nginx 설치와 설정 같은 부분이 걸려서 시도를 못해보고 있었습니다.
        말씀하신대로 그냥 해봐야 겠어요. ^^ 하다보면 배우겠죠.
        해보면서 혹시 모르는 거 있으면 질문을 드려도 될까요?

  3. 안녕하세요. Nginx 웹서버에 워드프레스 설치하는것은 성공했는데..

    그후에 SSL + HTTPS + HTTP로 주소 넣으면 HTTPS로 리다이렉트 되는 설정을 도저히 못하겠습니다.

    ㅠㅠ

    혹시 시간되시면 방법좀 포스팅 해주시면 안될까요?

    1. SSL은 저도 쓰질 않아서 설정해본적은 없습니다 . 하지만 인터넷에 자료가 많아서 어렵진 않을 것 같긴 한데…

      조만간 SSL 인증서 적용을 한번 테스트해보고 포스팅해보겠습니다. 🙂

    2. 방금 사설 SSL 인증서를 생성하고 nginx에 붙여봤는데 잘 작동하네요.

      이해하기 쉽게 포스트를 작성했습니다. 명령어를 그대로 적다보니 내용이 길어져서 두개의 포스트로 나누어놨으니 참고해보시면 될듯 합니다. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.