−25%

Windows 연간 결제, 10월 31일까지. 요금제 보기

EQVPS

VPS에 WordPress를 설치하는 방법(Nginx, PHP, MariaDB)

Ubuntu 24.04에 Nginx, PHP-FPM, MariaDB, 무료 HTTPS로 WordPress를 깔끔하게 설치하고, 속도와 보안에 중요한 설정까지 정리했습니다.

관리형 WordPress 호스팅은 사이트마다 요금을 받고 설정을 감춥니다. 자신의 VPS에서는 서버 전체와 서버가 감당하는 만큼의 사이트, 그리고 PHP와 캐시에 대한 완전한 제어권을 얻습니다. 전통적인 스택(Nginx, PHP-FPM, MariaDB)은 Ubuntu 24.04에 15분 정도면 설치됩니다.

시작하기 전에: 전용 IP 요금제(방문자는 80/443 포트로 접속하며, NAT 요금제는 들어오는 웹 트래픽을 받지 않습니다)와 서버를 가리키는 A 레코드가 있는 도메인이 필요합니다. 월 $10인 Micro-IP는 일반적인 사이트에 편안한 보금자리입니다.

1. 스택 설치

apt update
apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-curl \
  php8.3-gd php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip

2. 데이터베이스 만들기

Ubuntu의 MariaDB는 root가 로컬 소켓으로 비밀번호 없이 들어오게 해 줍니다.

mariadb <<'SQL'
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'wp'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL

3. WordPress 내려받기

cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress /var/www/example.com
chown -R www-data:www-data /var/www/example.com

4. Nginx 설정

cat > /etc/nginx/sites-available/example.com <<'EOF'
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.php;
    client_max_body_size 64M;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }

    location ~ /\.(?!well-known) { deny all; }
}
EOF

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx

try_files 줄이 깔끔한 고유 주소를 작동시키는 부분입니다. WordPress의 .htaccess 규칙에 해당하는 Nginx 설정입니다.

PHP 업로드 한도를 client_max_body_size에 맞게 올립니다.

sed -i 's/^upload_max_filesize.*/upload_max_filesize = 64M/; s/^post_max_size.*/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
systemctl restart php8.3-fpm

5. 무료 HTTPS

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Certbot이 Nginx 설정을 HTTPS용으로 수정하고 자동 갱신을 설정합니다.

6. 브라우저에서 마무리

https://example.com을 열고 데이터베이스 이름(wordpress), 사용자(wp), 2단계의 비밀번호를 입력한 뒤 관리자 계정을 만듭니다. 관리자 이름은 “admin”이 아닌 것으로 고르세요.

빠르고 안전하게

관련

자주 묻는 질문

WordPress에는 어떤 요금제가 필요한가요?

일반적인 사이트는 Micro-IP(RAM 2 GB, 월 $10)에서 잘 돌아갑니다. 스왑 파일을 추가하면 작은 사이트는 Nano-IP(1 GB)로도 충분합니다. 방문자가 80번과 443번 포트로 접속하므로 전용 IP 요금제가 필요합니다. NAT 요금제는 들어오는 웹 트래픽을 받지 않습니다.

WordPress에는 Nginx와 Apache 중 무엇이 좋을까요?

둘 다 됩니다. PHP-FPM과 함께 쓰는 Nginx는 부하가 걸렸을 때 메모리를 덜 써서 작은 서버에서 유리합니다. 잃는 것은 .htaccess뿐으로, Nginx 규칙은 server 블록에 쓰며 WordPress 기본 고유 주소에는 한 줄이면 충분합니다.

HTTPS는 어떻게 적용하나요?

도메인의 A 레코드를 서버로 향하게 하고 Nginx 플러그인과 함께 certbot을 실행하세요. 무료 Let's Encrypt 인증서를 받아 설정을 수정하고, 몇 달마다 자동으로 갱신합니다.

WordPress는 어떻게 백업하나요?

두 가지가 필요합니다. 데이터베이스(mysqldump)와 wp-content 폴더입니다. Managed Backups는 서버 전체를 매일 복사하고, 플러그인이나 mysqldump를 쓰는 cron 작업은 다른 곳에 보관할 수 있는 파일 단위 사본을 만들어 줍니다.

셀프 호스팅 WordPress는 안전한가요?

관리하는 만큼 안전합니다. WordPress 코어와 믿을 만한 플러그인의 자동 업데이트를 켜고, 쓰지 않는 플러그인은 지우고, 강력한 관리자 비밀번호를 쓰고, unattended-upgrades로 서버 자체도 최신으로 유지하세요.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.