관리형 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”이 아닌 것으로 고르세요.
빠르고 안전하게
- 방화벽:
ufw allow 22/tcp && ufw allow 'Nginx Full' && ufw enable. - 업데이트: 대시보드에서 WordPress 코어 자동 업데이트를 켜고, 서버에는 보안 업데이트 자동화를 적용하세요.
- 캐시: 작은 서버에서는 페이지 캐시 플러그인이 어떤 서버 튜닝보다 큰 차이를 만듭니다.
- 백업: Managed Backups는 서버 전체의 일일 복원 지점을 보관합니다(월 $2, 연간 요금제는 무료). 옮길 수 있는 사본이 필요하면
mysqldump wordpress > wp.sql과wp-content폴더를 더하세요. - 메모리: 1 GB 서버라면 2 GB 스왑 파일을 추가하세요.
관련
- 웹사이트용 VPS
- HTTPS를 적용한 Nginx 리버스 프록시
- Plausible Analytics용 VPS: 사이트를 위한 쿠키 없는 통계
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.