VPS가 어떤건가요?

안녕하세요?

호스팅 이용시 접속 속도 향상을 위해서 VPS를 추천하는데요,

이게 그렇게 빠르게 접속되는건가요?

  • Single 2.80GHz CPU
  • 2 GB ECC RAM
  • 30 GB SSD Space
  • 2 TB  1 TB Bandwidth
  • 월 이용료가 60달러인데 이게 그렇게 빠른가요?
  • 사용자와 호스팅 서버의 거리가 문제 안되나요?
그리고 Bandwidth는 뭔지 왕초보 수준으로 설명좀 부탁드려요.
고맙습니다.
  • ?
    구린데요...


    십달러면 이정도사양씁니다
  • ? profile
    10달러에 가능하다구요? 와~ 어딘가요?
  • profile ?
    디지털오션 , linode, vultr 등... ㅎ
  • ? profile
    고맙습니다. 찾아 볼게요.
  • ? profile
    linode 라는 곳도 그렇지만 기본적인 메모리가 낮으면 가격도 낮네요. ㅎㅎ
    쇼핑몰을 운영하려면 어떤게 좋을지 저는 모르겠네요. 종류가 엄청 많아요. ㅎㅎ
  • profile profile

    신규 사이트라면 처음엔 최저사양으로 하다가 방문자가 늘어나면 점차적으로 올리면 됩니다.
    갑자기 방문자가 늘 수도 있지만, 쉽지 않죠;;

  • profile profile
    @conory 님 고맙습니다. 그런데 제가 정확히 VPS 개념을 이해가 안돼요. 일반 호스팅과 VPS의 차이가 한마디로 뭐다. 이게 궁금하고요,
    이 상품의 옵션 즉, 메모리RAM은 PC의 그 메모리죠? 그리고 SSD는 일반 하드디스크보다 속도가 빠르다는 디스크인것 같은데 맞나요?
    근데 이게 왜 접속이 빠른건가요?
    정확히 말하면 캐나다에서 이런 상품이 있는 업체는 사이트에 주로 접속하는 고객 위치에서 1,500~3,500Km 정도는 떨어진 곳뿐인데 상관이 없나요?
    어렵네요. ㅎ
  • profile profile

    1. 일반 호스팅과 VPS의 차이
    간단히 비유를 하자면 VPS가 그냥 월세집이라면 웹호스팅은 쉐어하우스 정도됩니다.

    웹호스팅에서는 입주자들끼리 서버자원을 공유하여 사용합니다. 그 대신 서버관리는 호스팅 업체가 해줍니다. (관리측면에서는 웹호스팅이 편하긴 합니다만, 서버자원을 공유하기 때문에 한두 입주자가 독차지할 수 있습니다. 그럴 경우 피해는 애꿎은 나머지 입주자들이 받습니다. 그래서 호스팅 약관에 'CPU 10%를 초과할 경우 쫓겨날 수 있습니다' 라고 되어 있는 겁니다)

    VPS는 그 반대 입니다. 다른 입주자와 서버자원을 공유하지 않지만, 서버 셋팅 및 관리는 직접 스스로 해야합니다. 웹호스팅의 단점은 없지만, 서버를 직접 관리해야 된다는 부담이 있습니다. 서버셋팅/관리는 구글링을 통해 배울 수 있습니다. 서버에 대해 신경쓰기 싫다면 웹호스팅을 권장합니다.

    2. PC 메모리 = RAM?, SSD는 일반 하드디스크보다 속도가 빠르다는 디스크?
    네 맞습니다. 참고로 웹호스팅은 큰 용량의 RAM(서버자원)을 두고 입주자들끼리 공유하는 형태지만, VPS는 서버를 오직 혼자 독차지하기 때문에 혼자 쓸 서버자원을 선택하게 끔되어 있습니다.

    3. 왜 접속이 빠른건가요?
    그건 통신사에 따라 통신망에 따라 다를 수 있습니다. 사용중인 통신사의 통신망에 접속하는 사용자가 많지 않거나 통신회선도 많고 품질도 좋다면 빠를 수 있습니다. 이건 테스트가 필요합니다.

  • profile profile
    와.. 완전 고맙습니다. 이해가 쏙쏙 잘 됐습니다.
    문제는 서버운영 능력이네요. 저같은 초보가 해보기는 넘사벽이 되겠네요. 월 이용료도 렇지만 사용법을 모르면 아무리 싼 사용료라도... 사용해보고 싶은 호스팅인것 같아요. 고맙습니다.
  • ?

    Bandwidth는 대역폭... 간단하게 말하면 트래픽 비슷한 개념이라 보면 되고
    2GB ECC RAM이면 Err 어쩌구 저쩌구... (https://en.wikipedia.org/wiki/ECC_memory)

    어디 서비스인진 모르지만 훨씬 저렴하게 같은 사양 쓰실 수 있을것 같은데...

    접속속도는 서버위치에 따라 다르고 (국내서비스나 국내에 서버가 없으면 해외망을 타니까)
    오히려 느릴수도 있습니다.

  • ? profile
    https://www.fastcomet.com/ 사용하고 있어요.
    서버는 시카고에 있네요. 제가 주로 사용하는 위치와는 3,500킬로 정도 떨어졌습니다.
    더 저렴하고 상태 좋은 곳 추천 좀 해주세요.
  • profile ?
    https://github.com/mAKEkr/coding-on-ssajibang 이거 보시면 도움될듯.. mAKEkr님 repo
  • profile

    메이저급 업체들보다 무려 6배의 가격이니

    관리까지 다 해주는 초특급 서비스가 아니라면 거르시는 게 좋겠어요.

     

    클라우드를 운영한다면 ECC RAM은 기본 중의 기본인데

    그걸 굳이 광고할 이유가...? 차라리 서버에 랜선 꽂혀 있다고 광고하죠 ㅋㅋ

  • profile profile
    네. 저도 가격보고 좀... 문제는 캐나다에서 방귀좀 뀐다는 업체가 이런듯해요.
    2 CPU Cores2GB Memory
    25GB SSD Disk Space100Mbps Network
    Unlimited Bandwidth¹
    Managed w/cPanel
    이런게 첫달 20달러에 다음달부터 40달러거든요.
    특별히 거리가 상관없다면 추천좀 부탁드려요.
    그리고 기존의 서버의 데이터 이전을 신규업체에서 해주나요?
    고맙습니다.
  • profile ?

    서버부터 직접 설정하셔야 해서 손수 하셔야 할겁니다. 하려면 위탁을 하셔야겠죵

     

    서버 설정이 그렇게 어렵진 않아요. 구글링하면 바로바로 원하는 항목이 나오긴 할 겁니다.

    (XE관련은 아마 이쪽으로...)

    다만 언어의 장벽이 기다리고 있겠죠 ㅎㅎ... 물론 영어에 능숙하시면 금방금방 하실것 같은데...

  • profile ?

    만약, VPS서비스를 이용하실 거라면 계속해서 직접 관리하셔야 하니 간단하게 기본적인 부분만 설명해 드리겠습니다.

    (once)라고 된것은 서버 설정(운영체제 설치)후 한번만 하면 됩니다.

     

    1. 백업 (once)

     

    이게 한번 위탁을 맡기고 계속 모른채로 있으면, 계속 불편하실 수 있습니다. (서버호스팅이란게 그렇지요)

    첫째로 운영중인 사이트의 DB를 Dump 받으시고 서버 디렉토리의 모든 파일을 다운로드 받습니다.


    여기까진 쉬울것 같네요.

     

    저는 주로 Ubuntu를 사용하고 있기 때문에 Ubuntu와 NginX로 설명해 드리겠습니다.

    첫번째로 VPS를 개설하면 운영체제와 함께 설치되는 것으로 기억합니다.
    Ubuntu 16.04 LTS 정도로 선택할 수 있겠군요.

     

    2. 서버 접속

     

    서버 설치가 완료된 후 발급받은 root ID와 PW로 접속합니다.

    (웹뷰를 지원하면 그걸로 보셔도 되고, openssh 가 같이 깔리는 것으로 기억을...)

     

    그럼 이런 화면이나

    c1.PNG

     

    이런 화면을 보실수 있습니다.

    c2.png

     

    최초 발급받은 암호가 매우 난해할 수 있는데 다음과 같은 명령어로 패스워드를 원하는 것으로 변경해 두셔도 좋습니다.

     

    ~# passwd

     

    3. 업데이트 & 업그레이드

     

    접속에 성공하셨다면 다음과 같은 명령어를 입력해 운영체제의 패키지 리스트를 업데이트 & 업그레이드 해줍니다.

     

    ~# sudo apt-get update
    ~# sudo apt-get -y upgrade

     

    그럼 여러 문구가 뜨면서 이런저런 패키지들을 최신으로 유지해 줍니다.

    그 후 아래 명령어로 다시 시작시켜주세요.

     

    ~# reboot

     

    4. 필요한 패키지 설치 (once)

     

    c3.PNG

     

    재부팅은 금방 될 겁니다. 재부팅 후 다시 ID와 PW로 로그인 합니다.

    그 후 아래 설치 명령어로 필요한 패키지 N.P.M 을 설치해 줍시다. (NginX가 싫으시면 Apache...)

     

    ~# sudo apt-get -y install nginx php7.0-fpm mariadb-server 

     

    설치에 조금 시간이 걸릴 수도 있습니다.

     

    설치가 완료되면 http://서버아이피/ 로 접속해 정상적으로 페이지가 나오는 지 확인합시다.

     

    c4.PNG

    (정겨운 설치 초기 페이지...)

     

     

    5. 추가적인 환경 설정 (once)

     

    SSL 발급을 위해 아래 패키지도 선택적으로 설치하실 수 있습니다.

     

    ~# sudo apt-get -y install letsencrypt

     

    letsencrypt의 세부 정보가 필요하신 경우 여기를 참고하시면 좋습니다.

     

    c5.png

     

    필요에 따라 Webmin을 설치해 더 편하게 관리하실 수도 있습니다. 이 정보는 여기를 참고하시면 됩니다.

     

     

    6. DB Dump를 서버에 쓰기 (once)

     

    5의 webmin을 이용해 미리 DB설정을 하면 좋지만 직접 해줍시다.

    먼저 mariadb 의 서비스를 멈춰줍시다.

     

    ~# sudo systemctl stop mysql

     

    그 후 mysqld_safe로 프로세스를 켭니다.

    ( 엔터를 한번 더 입력하면 다시 입력할 수 있습니다. )

     

    ~# sudo mysqld_safe --skip-grant-tables --skip-networking &


    실행시킨 후 root 로 접속해줍니다. 이 때 비밀번호는 물어보지 않습니다.

     

    ~# mysql -u root

     

    그 후 아래와 같은 명령을 입력해 비밀번호를 바꿔줍니다.

     

    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('바꿀 패스워드') WHERE User = 'root' AND Host = 'localhost';

     

    ※ 세미콜론 꼭 넣으셔야 합니다.

    그 후 MariaDB에서 빠져나옵니다.

     

    MariaDB [(none)]> exit

     

    그 후 정상적인 DB로 다시 실행시키기 위해 프로세스를 강제로 종료합니다.

     

    ~# sudo killall mysqld

    (잠시 기다려야 프로세스가 종료됩니다.)

     

    그 후 다시 DB를 실행시켜줍니다.

     

    ~# /etc/init.d/mysql restart

     

    7. PMA (once)

     

    PHPMYADMIN!...

    sftp로 연결해서 /var/www/html/ 에 pma를 압축 해제하여 업로드 해 줍시다.

    그 후 nginx 설정이 필요한데 아래 명령어로 nano editor를 불러줍니다.

     

    ~# nano /etc/nginx/nginx.conf

     

    어... 대충 이 즈음...

     

    c6.PNG

     

    location ~ \.(php|html|htm)$ 
    {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

     

    이런 코드를 입력하고 저장해 줍니다. ctrl+x로 나온 다음 y를 입력해 저장한다고 하면 파일명을 묻는데, 그대로 다시

    엔터를 입력하면 저장됩니다.

     

    그 후 nginx를 재시작합니다.

     

    ~# sudo systemctl restart nginx

     

    그런 다음 pma 폴더의 권한을 잘 만져주신 다음 (config 어쩌구 php가 말썽일겁니다. 775로 해주면 되는걸로 기억함)

     

    서버주소/pma/index.php 로 접속하시면 잘 접속 되실겁니다.

     

    nginx redirect 설정 등등은 XETOWN에도 잘 설명되어 있던 것 같으니 저는 이만...총총

     

     

  • ?

    호호 비싼정보니까 꼭 VPS 마음에 드는 곳 찾으셔서 신청하시고 써먹어주시길 바랍니다.

     

    서버 패키지 업데이트는 필요 패키지만 설치하셨다면 자주 하시는걸 권장합니다.

    nginx vhost 설정은 XE에서도 설명하던것 같은데 예제 파일입니다.

     

    server
    {
            server_name 도메인;
            return 301 https://$server_name$request_uri;
            client_max_body_size 500M;
    }
    
    server
    {
            location ~* /((config|db\.inc|_head|lib|common)\.php$|\.(htaccess|htpasswd)$)
            {
                    deny all;
            }
    
            if ($http_user_agent ~* (HTTrack|HTMLParser|libwww|LWP::Simple|BBBike|wget))
            {
                    return 403;
            }
    
            if ($args ~*  "(_zb_path|g4_path|site_path|skin_site_path)")
            {
                    return 403;
            }
    
            if ($request_method !~ ^(GET|HEAD|POST)$ ) {
                    return 405;
            }
            listen 443 ssl;
            server_name 도메인;
            client_max_body_size 500M;
    
            add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
    
            ssl_certificate /etc/letsencrypt/live/도메인/fullchain.pem;
            ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;
            ssl_dhparam /etc/letsencrypt/archive/dhparam.pem;
            ssl_trusted_certificate /etc/letsencrypt/live/도메인/chain.pem;
            ssl_stapling on;
            ssl_stapling_verify on;
            resolver 8.8.8.8 8.8.4.4 valid=86400;
            resolver_timeout 10;
    
            root /var/www/도메인이름으로된폴더를만들어주세요;
            index index.php index.htm index.html;
    
            location ~* \favicon.ico$
            {
                    access_log off;
                    expires 1d;
                    add_header Cache-Control public;
            }
    
            location ~ /(\.ht|\.git|\.svn|\.vscode) 
            {
                    deny all;
            }
    }
     

     

    ~# ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled

     

    로 링크 파일을 만들어 준 후 NginX를 다시 실행시키시면 됩니다.

    이미 파일이 있습니다 오류는 무시해도 됩니다 :3

  • ? profile
    헐~~~ 이걸 저보고 하라구요~~??? ㅜ.ㅜ 슬픕니다.
    저한테 밥상 차려서 밥을 떠서 입에 먹여줘도 씹지를 못하는 상황이네요. ㅎㅎ
    우분투 많이 듣기는 했는데 VPS에서 보게되네요. ㅎㅎ
    보통 VPS 라는것을 선택하면 해당 회사에서 기본적인것도 안해주고 그냥 휙~ 던져주면 제가 알아서
    모든걸 해야 되는 시스템인가봐요?
    @라라펠 님 정말 존경스럽습니다. (눈 빛 반짝반짝~~~)
  • profile ?

    의외로 해보면 쉬워요 ㅋㅋ... 실수하면 서버 다시 설치로 처음부터 차근차근.. 하시면 됩니다

    내공이 있으면 설정을 수정해서 고치지만 잘 모르면 첨부터!!! 하는게 젤 쉽죠

     

    화이팅입니당

     

    연습삼아 하실거라면 버추얼박스로 작은 우분투 가상환경을 만들어서 해보시는것도 ㅎㅎ

  • ? profile
    @라라펠 님 덕분에 힘내서 저질러 봐야겠어요. 모르면(거의 항상) 물어볼게요.ㅎㅎ
    테스트로 사용할(?) 가성비 좋은 해외 사이트 추천 부탁드려요.
  • profile ?

    정말 테스트만 하실거라면 https://rorlab.gitbooks.io/railsguidebook/content/appendices/ubuntu14server.html 같은 vbox 가상환경 만들기 글들을 검색하셔서 (한국어로 작성된 가이드가 꽤 많습니다) 직접 설치해보고 지우고 설정해보고 해보시는게 좋을듯 하네요.

    그 후에 가상서버를 결정하셔도 나쁘지 않습니다.

    '아 이정도면 할만하다!' 라는 느낌이 들면 그때 구매하시는게 나을것 같아요

     

    저는 개인적으로 여러곳에 개인서버를 분산시켜놓고 쓰고있어서 가상서버쪽은 잘 모르겠네요

     

    vultr을 써보고 있는데 꽤 괜찮은것 같네요 ^_^