자주자주 공지를 확인하세요!

라이믹스/매뉴얼/nginx 설정 방법

Gaon12 (토론 / 기여)님의 2026년 10월 17일 (토) 08:47 판 (본문 관련 용어에 내부 링크 2개 추가 및 매뉴얼 공통 둘러보기 연결)
상위 문서: 라이믹스/매뉴얼

개요

아파치는 라이믹스에 포함된 .htaccess 파일만으로 짧은주소를 쓸 수 있지만, nginx는 .htaccess를 통한 설정 변경을 지원하지 않으므로 서버 설정을 직접 손봐야 한다.[1]

rewrite 규칙 내려받기

라이믹스가 제공하는 rewrite 규칙 파일을 snippets 폴더에 넣어 두고 사이트 설정에서 인클루드하는 방식이 편하다.

curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf

사이트 설정

Ubuntu는 /etc/nginx/sites-enabled/default, CentOS는 /etc/nginx/conf.d/default.conf에 기본 설정 파일이 생성된다. 이 파일을 고치거나 같은 폴더에 다른 이름의 파일을 만들어 아래 내용을 넣는다.[1]

server {
    listen 80 default;    # 다른 파일을 만들어 쓰는 경우 default 삭제
    root /var/www/html;   # 라이믹스를 설치할 경로 (반드시 최상단에 위치해야 한다)
    server_name _;        # 사용할 도메인을 여기에 적어도 된다
    index index.html index.htm index.php;   # index.php가 반드시 포함되어야 한다
    client_max_body_size 32m;   # 업로드 허용 용량

    include snippets/rhymix.conf;   # 라이믹스 rewrite 규칙 인클루드

    # location 구문을 쓰는 다른 설정은 반드시 rewrite 규칙보다 나중에 선언해야 한다
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;    # 유닉스 소켓으로 연동하는 경우
        include snippets/fastcgi-php.conf;
    }
}

주의할 점이 세 가지 있다.[1]

  • root는 반드시 server 블록 최상단에 있어야 한다.
  • index에 index.php가 포함되어야 한다.
  • location을 쓰는 다른 설정은 라이믹스 rewrite 규칙보다 뒤에 와야 한다.

라이믹스는 분할 업로드를 지원하므로 client_max_body_size가 10MB 정도만 넘으면 업로드 용량은 사실상 제한이 없어진다.[1]

라이믹스 2.0 이상에서의 주의

라이믹스 2.0부터는 rewrite 규칙 안에 location / { try_files ... } 블록이 이미 포함되어 있다. 사이트 설정에 같은 블록을 또 넣으면 오류가 발생하므로 넣지 말아야 한다.[1]

PHP-FPM 연동 경로 확인

PHP 버전에 따라 소켓 경로가 달라진다. 아래 명령으로 확인할 수 있다.[1]

# Ubuntu 계열
grep -r "listen =" /etc/php/8.2/fpm/pool.d

# CentOS 계열
grep -r "listen =" /etc/php-fpm.d

로컬 포트로 연동하는 경우에는 소켓 대신 fastcgi_pass 127.0.0.1:9000;을 사용한다.

배포판별 참고

Ubuntu

비교적 최신 버전의 nginx가 패키지로 제공되므로 그대로 설치하면 된다.

apt-get install nginx

최근 Ubuntu에서는 잡다한 설정 파일을 /etc/nginx/snippets 폴더에 넣는 것이 관례이다.[1]

CentOS

기본 제공되는 nginx 버전이 낮으므로 nginx 공식 홈페이지의 RPM 저장소를 사용해 최신 버전을 설치하는 것이 좋다.

CentOS에는 snippets 폴더 관례가 없지만, conf.d 폴더에 rewrite 규칙을 넣으면 인클루드 순서가 어긋나 오류가 날 수 있다. Ubuntu처럼 snippets 폴더를 만들어 쓰는 편이 낫다.[1]

적용과 확인

설정을 바꾼 뒤에는 nginx를 다시 시작해야 한다.

nginx -t          # 문법 검사
service nginx restart

재시작에서 오류가 나면 /var/log/nginx/error.log를 확인하자.[1]

같이 보기

각주

최근 바뀜

더 보기