Cloudways → Vultr WordPress 이전 완전 가이드

Cloudways는 관리형 호스팅이라 편하지만 트래픽이 늘면 비용이 빠르게 올라간다. 같은 사양의 순수 VPS로 옮기면 비용을 크게 줄일 수 있는데, 이 글은 Cloudways에서 운영 중인 WordPress를 Vultr VPS(Ubuntu 24.04 + Nginx + PHP-FPM + MariaDB, 이른바 LEMP 스택)로 직접 옮기는 전 과정을 다룬다. 관리형 패널 없이 서버를 처음부터 손으로 세팅하는 방식이라 Cloudways/Plesk 같은 컨트롤 패널에 익숙하다면 낯설 수 있지만, 그만큼 서버 구조를 정확히 파악하고 필요한 만큼만 설치하게 된다.

전체 흐름

JavaScript
[1] Vultr 서버 세팅

[2] LEMP 스택 설치 (Nginx + PHP + MariaDB)

[3] Cloudways에서 백업 다운로드

[4] Vultr에 파일/DB 복원

[5] 로컬 hosts 파일로 사전 테스트

[6] DNS 전환

[7] SSL 발급 & Cloudways 해지

STEP 1 — Vultr 서버 생성

Deploy New Server
├── Type   : High Frequency (Cloud Compute)
├── Region : Seoul
├── OS     : Ubuntu 24.04 LTS
├── Plan   : $12/월 (2GB RAM) 권장
└── Deploy Now

생성 완료 후 IP 주소, root 비밀번호 메모해두기

STEP 2 — 서버 초기 세팅

SSH 접속

ssh root@새서버IP

시스템 업데이트

apt update && apt upgrade -y

Swap 설정 (2GB RAM 서버 필수)

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

STEP 3 — LEMP 스택 설치

Nginx 설치

apt install nginx -y
systemctl enable nginx
systemctl start nginx

PHP 8.3 설치

Ubuntu 24.04은 기본 저장소에 이미 PHP 8.3이 포함되어 있어 별도 PPA 추가 없이 바로 설치할 수 있다.

apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring \
    php8.3-curl php8.3-zip php8.3-gd php8.3-imagick \
    php8.3-intl php8.3-bcmath php8.3-opcache -y

MariaDB 설치

apt install mariadb-server -y
systemctl enable mariadb

# 보안 설정
mysql_secure_installation
# root 비밀번호 설정, 익명 사용자 제거, 원격 root 로그인 차단 → 모두 Y

WordPress DB 생성

mysql -u root -p
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '강력한비밀번호';
GRANT ALL ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

STEP 4 — Nginx 설정

mkdir -p /var/www/yourdomain.com
nano /etc/nginx/sites-available/yourdomain.com

아래 내용 붙여넣기:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com;
    index index.php index.html;

    # WordPress 퍼머링크
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP 처리
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # 정적 파일 캐시
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    # 보안: 숨김 파일 차단
    location ~ /\. {
        deny all;
    }
}
ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

STEP 5 — Cloudways에서 백업

방법 A — Cloudways 콘솔에서 직접 다운로드

Application Management
→ Backup And Restore
→ Take Backup Now
→ Download (tar.gz)

방법 B — SSH로 직접 백업 (권장)

Cloudways SSH 접속:

ssh master@cloudways서버IP -p 22

파일 백업:

cd /home/master/applications/앱이름/public_html
tar -czf /home/master/wp_files.tar.gz .

DB 백업:

# wp-config.php에서 DB 정보 확인
grep "DB_" /home/master/applications/앱이름/public_html/wp-config.php

# DB 덤프
mysqldump -u DB_USER -pDB_PASSWORD DB_NAME > /home/master/wp_db.sql

로컬로 다운로드 (로컬 PC 터미널에서):

scp -P 22 master@cloudways서버IP:/home/master/wp_files.tar.gz ./
scp -P 22 master@cloudways서버IP:/home/master/wp_db.sql ./

STEP 6 — Vultr 서버에 복원

파일 업로드:

scp wp_files.tar.gz root@vultr서버IP:/var/www/yourdomain.com/
scp wp_db.sql root@vultr서버IP:~/

Vultr 서버에서 압축 해제:

cd /var/www/yourdomain.com
tar -xzf wp_files.tar.gz
rm wp_files.tar.gz

DB 복원:

mysql -u wp_user -p wordpress_db < ~/wp_db.sql

wp-config.php 수정:

nano /var/www/yourdomain.com/wp-config.php
define('DB_NAME',     'wordpress_db');
define('DB_USER',     'wp_user');
define('DB_PASSWORD', '강력한비밀번호');
define('DB_HOST',     'localhost');

파일 권한 설정:

chown -R www-data:www-data /var/www/yourdomain.com
find /var/www/yourdomain.com -type d -exec chmod 755 {} \;
find /var/www/yourdomain.com -type f -exec chmod 644 {} \;
chmod 600 /var/www/yourdomain.com/wp-config.php

STEP 7 — DNS 전환 전 사전 테스트

DNS를 바꾸기 전에 로컬 PC에서 미리 확인합니다.

hosts 파일 편집:

# Mac/Linux
sudo nano /etc/hosts

# Windows
메모장 관리자 권한 실행 → C:\Windows\System32\drivers\etc\hosts 열기

아래 한 줄 추가:

Vultr서버IP    yourdomain.com www.yourdomain.com

브라우저에서 http://yourdomain.com 접속 → 사이트 정상 확인 후 hosts 파일 원복

STEP 8 — URL 변경 (도메인이 바뀐 경우만)

# WP-CLI 설치
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

# URL 일괄 교체
cd /var/www/yourdomain.com
wp search-replace 'https://old.cloudways-domain.com' 'https://yourdomain.com' \
    --all-tables --allow-root

STEP 9 — SSL 인증서 발급

apt install certbot python3-certbot-nginx -y

# DNS 전환 완료 후 실행
certbot --nginx -d yourdomain.com -d www.yourdomain.com

# 자동 갱신 확인
certbot renew --dry-run

STEP 10 — DNS 전환

순서작업
이전 전DNS TTL을 300초로 낮춤 (최소 12시간 전)
이전 후A 레코드를 Vultr 서버 IP로 변경
확인https://dnschecker.org 에서 전파 확인
안정화 후Cloudways 구독 해지

이전 후 체크리스트

# 퍼머링크 재설정 (WordPress 관리자)
설정 → 고유주소 → 저장

# Nginx + PHP 재시작
systemctl restart nginx php8.3-fpm

# 캐시 플러그인 전체 삭제
항목확인
사이트 접속 정상
이미지/미디어 파일
SSL 자물쇠 표시
관리자 로그인
이메일 발송 (SMTP)
퍼머링크 작동
구글 AdSense 스크립트

답글 남기기