wp-config.php 기본 설정: 파일 & 메모리·리비전 SSH, SFTP, cPanel 세팅 가이드

wp-config.php 파일은 워드프레스 웹 사이트의 가장 중요한 설정 파일입니다. 이 파일은 워드프레스가 데이터베이스에 접속하고 작동하는 데 필요한 핵심 정보를 담고 있기 때문에, 사이트의 심장부와 같은 역할을 합니다.
Ⅰ. wp-config.php의 역할
이 파일에는 다음과 같은 민감한 설정이 포함되어 있습니다.

이러한 특성 때문에 wp-config.php 파일은 외부 공격자에게 최우선 공격 대상이 됩니다. 파일에 대한 접근 권한이 잘못 설정되거나 내용이 노출될 경우, 데이터베이스 전체가 유출되거나 사이트의 관리 권한을 빼앗길 수 있는 심각한 보안 취약점으로 이어집니다. 따라서 워드프레스 보안을 강화하는 첫걸음은 이 파일의 안전을 확보하는 것입니다.
1️⃣ wp-config.php 파일 위치
wp-config.php는 워드프레스를 설치한 최상위 폴더에 있으며, [wp-admin]·[wp-content]·[wp-includes] 폴더와 같은 자리에 위치합니다. cPanel 호스팅은 [public_html] 폴더가 그 자리이고, 이 사이트는 라이트세일 VPS의 [/home/uknew/www/wp-config.php]에 두고 있습니다.
최상위 폴더에서 파일이 보이지 않으면 한 단계 위 폴더를 확인합니다. 워드프레스는 wp-config.php를 설치 폴더에서 먼저 찾고, 없으면 바로 위 폴더에서 찾아 불러오게 됩니다.
2️⃣ wp-config.php 여는 법
호스팅 관리 패널의 [파일 관리자]에서 최상위 폴더로 이동한 뒤, wp-config.php를 마우스 오른쪽 버튼으로 눌러 [Edit]를 선택합니다. 별도 프로그램 없이 브라우저에서 바로 수정할 수 있는 방법입니다.
FTP 프로그램(FileZilla)으로 접속하면 파일을 내 컴퓨터로 내려받아 편집기로 수정한 뒤 다시 업로드하게 됩니다. 업로드 전에 원본을 한 부 따로 저장해 두면 오류가 났을 때 바로 되돌릴 수 있습니다.
VPS처럼 SSH로 접속하는 서버는 [vi] 편집기 이름 뒤에 파일 경로를 붙여 실행하며, [nano]도 같은 방식으로 열 수 있습니다.
vi /home/uknew/www/wp-config.php3️⃣ wp-config-sample.php와 기본 구조
새로 받은 워드프레스 압축 파일에는 wp-config.php가 없고, 같은 자리에 [wp-config-sample.php]만 들어 있습니다. 설치 화면에서 데이터베이스 정보를 입력하면 워드프레스가 이 파일을 바탕으로 wp-config.php를 생성하며, 직접 복사해 이름을 바꿔도 같은 결과가 나옵니다.
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );[DB_NAME]·[DB_USER]·[DB_PASSWORD]·[DB_HOST] 네 줄에는 호스팅에서 받은 데이터베이스 정보를 넣습니다. 값이 하나라도 틀리면 사이트 대신 [Error establishing a database connection] 오류가 표시됩니다.
[AUTH_KEY]부터 [NONCE_SALT]까지 여덟 줄은 로그인 쿠키를 암호화하는 값이며, [https://api.wordpress.org/secret-key/1.1/salt/]에서 새로 받아 통째로 교체합니다. 값을 바꾸면 로그인해 있던 모든 사용자가 로그아웃됩니다.
[$table_prefix]는 데이터베이스 테이블 이름 앞에 붙는 접두어로 기본값은 [wp_]이며, 한 데이터베이스에 워드프레스를 여러 개 설치할 때 서로 구분하는 역할을 합니다. [WP_DEBUG]를 [true]로 바꾸면 PHP 오류가 화면에 표시되므로, 운영 중인 사이트는 [false]로 둡니다.
Ⅱ. 워드프레스 설치 후 적용하는 wp-config.php 기본 설정
설정 줄은 모두 /* That’s all, stop editing! Happy publishing. */ 주석 위에 넣습니다. 아래 시뮬레이터에서 SSH·cPanel·FTP 중 접속 방법을 고르고 wp-config.php를 열면, 왼쪽에서 누른 설정의 줄로 바로 이동합니다.
- 설정 상수(define)는 위에: 워드프레스 설정에 관련된 대부분의 상수(define)들은 /* That’s all, stop editing! Happy publishing. */ 주석 바로 위에 정의되어야 워드프레스가 설정을 초기화하는 과정에서 정상적으로 로드됩니다.
- 워드프레스 로딩 시작은 아래에: 이 주석 아래에는 [ABSPATH] 정의와 [require_once( ABSPATH . ‘wp-settings.php’ );]라는 코드가 있습니다. 이 [wp-settings.php] 파일을 로드하는 순간부터 워드프레스의 핵심 기능들이 실제로 구동되기 시작합니다.
WP_MAX_MEMORY_LIMIT는 “관리자·내부 처리용 확장 한도”입니다.
두 개를 함께 설정해야 완전한 워드프레스 메모리 제어가 가능합니다.


/wp-admin/admin-ajax.php를 사용하여 웹 브라우저에서 AJAX 호출을 실행합니다. 워드프레스 대시보드에서 15초마다 이 파일로 인해 POST 요청이 전송됩니다.


/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
global $pagenow;
if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
wp_deregister_script('heartbeat');
}
}, 1);🔢 FAQ & 추천 콘텐츠
ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.