콘텐츠로 건너뛰기

Linux

  • Nginx 에 Let’s Encrypt 의 SSL 을 발급받고 적용하는 법
  • Ubuntu 에서 nginx, php, mariadb 까지 세팅방법
  • Ubuntu 의 방화벽 ufw 사용법
  • Cron 사용법

Ubuntu

  • Nginx 에 Let’s Encrypt 의 SSL 을 발급받고 적용하는 법
  • Ubuntu 에서 nginx, php, mariadb 까지 세팅방법
  • Ubuntu 의 방화벽 ufw 사용법
  • nginx 를 사용중인데 워드프레스에서 고유주소를 글 이름으로 설정하면 404 오류가 날 때

Nginx

  • Nginx 에 Let’s Encrypt 의 SSL 을 발급받고 적용하는 법
  • Ubuntu 에서 nginx, php, mariadb 까지 세팅방법
  • nginx 를 사용중인데 워드프레스에서 고유주소를 글 이름으로 설정하면 404 오류가 날 때

Cinema

  • 영상 화면 비율 / 해상도 차트
View Categories
  • Home
  • Docs
  • Linux
  • Nginx
  • nginx 를 사용중인데 워드프레스에서 고유주소를 글 이름으로 설정하면 404 오류가 날 때

nginx 를 사용중인데 워드프레스에서 고유주소를 글 이름으로 설정하면 404 오류가 날 때

1 min read

워드프레스에서 고유주소(퍼머링크)를 “글 이름”으로 설정했을 때 404 오류가 발생하는 문제는 일반적으로 Nginx 서버 설정이 워드프레스의 퍼머링크 구조를 제대로 처리하지 못하기 때문입니다. 이 문제를 해결하려면 Nginx 설정 파일을 수정하여 워드프레스의 퍼머링크를 지원하도록 해야 합니다.


문제 원인 #

  • Nginx는 기본적으로 워드프레스의 고유주소(퍼머링크)를 처리할 수 있는 rewrite 규칙이 설정되어 있지 않습니다.
  • 워드프레스는 퍼머링크를 사용할 때 index.php를 통해 모든 요청을 처리하도록 설계되어 있습니다. 하지만 Nginx는 이에 대한 설정이 없으면 정적 파일로 처리하려고 하기 때문에 404 오류가 발생합니다.

해결 방법 #

1. Nginx 설정 파일 수정 #

  • Nginx 설정 파일 경로:
    • 일반적으로 /etc/nginx/sites-available/default 또는 /etc/nginx/conf.d/your-site.conf 파일을 편집합니다.
    • 만약 가상 호스트를 사용한다면, 해당 사이트의 설정 파일을 편집하세요.
  • 설정 파일을 엽니다:
sudo nano /etc/nginx/sites-available/default
  • server 블록 안에 다음 코드를 추가합니다:
server {
    ...
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP-FPM을 사용하는 경우
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php-fpm.sock; # PHP-FPM 소켓 경로
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # WordPress REST API 지원
    location ~* ^/wp-json/ {
        rewrite ^/wp-json/(.*?)$ /index.php?rest_route=/$1 last;
    }

    # 파일 접근 제한
    location ~* \.(htaccess|htpasswd|ini|log|sh)$ {
        deny all;
    }

    # 캐싱 설정 (선택 사항)
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }
    ...
}

변경 사항을 저장하고 파일을 닫습니다.

2. Nginx 재시작 #

설정 파일을 수정한 후 Nginx를 재시작하여 변경 사항을 적용합니다.

sudo systemctl restart nginx

3. 워드프레스 퍼머링크 설정 확인 #

  • 워드프레스 관리자 대시보드에 접속합니다.
  • 설정 > 고유주소로 이동합니다.
  • “글 이름” 옵션을 선택하고 변경 사항을 저장합니다.

추가 확인 사항 #

1. PHP-FPM 설정 확인 #

  • Nginx가 PHP를 처리하기 위해 PHP-FPM을 사용하는지 확인하세요.
  • PHP-FPM이 설치되어 있지 않다면, 다음 명령어로 설치합니다:
sudo apt install php-fpm
  • PHP-FPM이 실행 중인지 확인합니다:
sudo systemctl status php-fpm

2. 파일 및 디렉토리 권한 확인 #

  • 워드프레스 파일과 디렉토리의 권한이 올바르게 설정되어 있는지 확인하세요.
  • 일반적으로 다음 권한을 사용합니다:
sudo chown -R www-data:www-data /var/www/your-wordpress-directory
sudo find /var/www/your-wordpress-directory -type d -exec chmod 755 {} \;
sudo find /var/www/your-wordpress-directory -type f -exec chmod 644 {} \;

3. Nginx 로그 확인 #

  • 문제가 지속된다면, Nginx의 에러 로그를 확인하여 추가 정보를 얻을 수 있습니다.
  • 에러 로그는 일반적으로 /var/log/nginx/error.log에 위치합니다.
sudo tail -f /var/log/nginx/error.log

결론 #

Nginx에서 워드프레스의 고유주소(퍼머링크)를 “글 이름”으로 설정했을 때 404 오류가 발생하는 문제는 Nginx 설정 파일에 rewrite 규칙이 없기 때문입니다. 위의 단계를 따라 Nginx 설정을 수정하면 문제를 해결할 수 있습니다. 추가로 PHP-FPM 설정과 파일 권한도 확인하여 문제를 완전히 해결하세요.

What are your Feelings
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on 2025-02-09
Ubuntu 에서 nginx, php, mariadb 까지 세팅방법

Powered by BetterDocs

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Table of Contents
  • 문제 원인
  • 해결 방법
    • 1. Nginx 설정 파일 수정
    • 2. Nginx 재시작
    • 3. 워드프레스 퍼머링크 설정 확인
  • 추가 확인 사항
    • 1. PHP-FPM 설정 확인
    • 2. 파일 및 디렉토리 권한 확인
    • 3. Nginx 로그 확인
  • 결론