워드프레스 이전 2편: 리눅스 Nginx 기반 워드프레스 설치 방법

워드프레스 이전 2편: 리눅스 Nginx 기반 워드프레스 설치 방법

워드프레스 이전 1편에 이어 리눅스 명령어가 낯선 초보자도 10분 만에 끝내는 Nginx 워드프레스 설치 방법! 입니다.복잡한 아파치 가상 호스트 대신 직관적인 Nginx 서버 블록 설정으로 나만의 고성능 블로그를 직접 구축해 보세요.

초보자도 누구나 쉽게 따라 할수 있어요 ‘리눅스 기반 워드프레스 설치 방법’을 정리해 드립니다.

워드프레스 설치 방법

1단계: 워드프레스 서버, LAMP 스택 구축하기

워드프레스는 PHP로 작성되었으며 데이터를 저장할 데이터베이스가 필요합니다. 터미널을 열고 아래 명령어를 순서대로 입력하세요.

0. 아파치(Apache)와 엔진엑스(Nginx) 차이점

가장 큰 차이는 접속자을 맞이하는 방식에 있습니다.

1. 아파치 (Apache HTTP Server)

  • 방식:Multi-Process (Thread) 방식. 손님 한 명당 직원 한 명을 배정합니다.
  • 특징: 기능이 아주 많고 안정적입니다. 특히 폴더별로 설정을 다르게 할 수 있는 .htaccess 파일 지원이 강력해서 워드프레스 사용자들에게 인기가 많습니다.
  • 단점: 손님이 너무 많이 몰리면 직원을 계속 뽑아야 하므로 메모리(RAM)를 많이 잡아먹습니다.

2. 엔진엑스 (Nginx)

  • 방식:Event-Driven (Asynchronous) 방식. 숙련된 직원 한 명이 수천 명의 손님을 동시에 응대합니다.
  • 특징: 가볍고 압도적으로 빠릅니다. 정적인 파일(이미지, CSS 등)을 뿌려줄 때 성능이 미쳤습니다.
  • 단점: 설정이 아파치보다 조금 까다롭고, 아파치의 .htaccess 같은 개별 설정 기능을 지원하지 않아 중앙에서 다 관리해야 합니다.

접속자가 갑자기 몰려도 서버가 안 터졌으면 좋겠고, 속도가 중요하다.엔진엑스(Nginx)를 추천합니다. 요즘 대세는 엔진엑스입니다.

구분아파치 (Apache)엔진엑스 (Nginx)
작동 모델프로세스/스레드 기반 (1:1 응대)이벤트 기반 (1:N 응대)
성능무거운 요청 처리 시 유리동시 접속자가 많을 때 압도적 유리
설정 편의성.htaccess로 폴더별 설정 가능중앙 설정 파일에서만 제어 가능
메모리 점유상대적으로 높음매우 낮음
확장성모듈이 매우 다양함가볍고 효율적인 모듈 위주

1. 시스템 업데이트 및 엔진엑스(Nginx) 설치

서버를 최신 상태로 만들고 웹 서버인 엔진엑스(Nginx) 를 설치합니다.

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y

2. 데이터베이스(MySQL) 설치 및 보안 설정

데이터를 안전하게 보관할 MySQL을 설치합니다.

sudo apt install mysql-server -y
sudo mysql_secure_installation # 보안 설정 (비밀번호 복잡도 등)

3. PHP 설치 (워드프레스의 엔진)

워드프레스 실행에 필요한 PHP와 필수 확장 모듈들을 설치합니다.

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

2단계: 워드프레스 전용 데이터베이스 생성

이제 워드프레스가 사용할 전용 공간을 만들어야 합니다. MySQL에 접속하여 아래 쿼리를 실행하세요.

sudo mysql -u root -p

-- 데이터베이스 생성
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 사용자 생성 및 권한 부여 (비밀번호는 본인이 설정)
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'Your_Strong_Password';
GRANT ALL ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3단계: 워드프레스 파일 다운로드 및 배치

가장 최신 버전의 워드프레스를 공식 사이트에서 가져와 웹 서버 경로에 배치합니다.

# 최신 파일 다운로드 및 압축 해제
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

# 아파치 웹 루트(/var/www/html)로 복사
sudo cp -a /tmp/wordpress/. /var/www/html/wordpress

# 권한 설정 (이게 중요합니다!)
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo find /var/www/html/wordpress/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress/ -type f -exec chmod 644 {} \;

4단계: Nginx 서버 블록(Server Block) 설정

엔진엑스는 아파치처럼 여러 사이트를 호스팅할 수 있도록 설정 파일을 분리해서 관리합니다.

1. 설정 파일 생성

도메인 이름(또는 원하는 이름)으로 설정 파일을 만듭니다.

sudo nano /etc/nginx/sites-available/wordpress

2. 엔진엑스 최적화 설정 코드 삽입

아래 내용을 복사해서 붙여넣으세요. your_domain.com 부분만 본인의 주소(혹은 서버 IP)로 수정하면 됩니다.

server {
 listen 80;
 server_name your_domain.com; # 도메인이 없다면 서버 IP주소 입력
 root /var/www/html/wordpress;
 index index.php index.html index.htm;

 # 1. 보안을 위한 로그 설정
 access_log /var/log/nginx/wordpress_access.log;
 error_log /var/log/nginx/wordpress_error.log;

 # 2. 워드프레스 고유주소(Permalinks) 설정 (필수!)
 location / {
 try_files $uri $uri/ /index.php?$args;
 }

 # 3. PHP 처리 (PHP-FPM 연동)
 location ~ \.php$ {
 include snippets/fastcgi-php.conf;
 # 설치된 PHP 버전에 따라 숫자를 확인하세요 (예: php8.1, php8.2 등)
 fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; 
 }

 # 4. 정적 파일(이미지, CSS 등) 캐싱 설정 (속도 향상)
 location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
 expires max;
 log_not_found off;
 }

 # 5. 보안 설정: 숨김 파일(.htaccess 등) 접근 차단
 location ~ /\. {
 deny all;
 }
}

3. 사이트 활성화 (심볼릭 링크)

만든 파일을 엔진엑스가 실제로 읽을 수 있게 ‘활성 폴더’로 연결해 줍니다.

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

4. 설정 검사 및 엔진엑스 재시작

코딩에 오타가 없는지 확인하고 엔진엑스를 다시 실행합니다.

sudo nginx -t # "syntax is ok" 메시지가 뜨면 성공!
sudo systemctl restart nginx

5단계: 웹 브라우저에서 최종 마무리

이제 브라우저 주소창에 http://서버IP 또는 도메인을 입력하면 익숙한 워드프레스 설치 화면이 나타납니다.

  1. 언어 선택: 한국어 선택.
  2. DB 정보 입력: 아까 만든 DB명(wordpress), 사용자(wp_user), 비밀번호 입력.
  3. 설치 실행: 사이트 제목, 관리자 계정 정보를 입력하면 끝!

댓글 남기기