귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!{{틀:상위문서|라이믹스/매뉴얼}} == 개요 == 아파치는 라이믹스에 포함된 <code>.htaccess</code> 파일만으로 짧은주소를 쓸 수 있지만, nginx는 <code>.htaccess</code>를 통한 설정 변경을 지원하지 않으므로 서버 설정을 직접 손봐야 한다.<ref name="nginx">[https://rhymix.org/manual/introduction/nginx nginx 설정 방법 - 라이믹스 매뉴얼]</ref> == rewrite 규칙 내려받기 == 라이믹스가 제공하는 rewrite 규칙 파일을 <code>snippets</code> 폴더에 넣어 두고 사이트 설정에서 인클루드하는 방식이 편하다. <syntaxhighlight lang="console"> curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf </syntaxhighlight> == 사이트 설정 == Ubuntu는 <code>/etc/nginx/sites-enabled/default</code>, CentOS는 <code>/etc/nginx/conf.d/default.conf</code>에 기본 설정 파일이 생성된다. 이 파일을 고치거나 같은 폴더에 다른 이름의 파일을 만들어 아래 내용을 넣는다.<ref name="nginx" /> <syntaxhighlight lang="nginx"> 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; } } </syntaxhighlight> 주의할 점이 세 가지 있다.<ref name="nginx" /> * <code>root</code>는 반드시 <code>server</code> 블록 최상단에 있어야 한다. * <code>index</code>에 <code>index.php</code>가 포함되어야 한다. * '''<code>location</code>을 쓰는 다른 설정은 라이믹스 rewrite 규칙보다 뒤에 와야 한다.''' 라이믹스는 분할 업로드를 지원하므로 <code>client_max_body_size</code>가 10MB 정도만 넘으면 업로드 용량은 사실상 제한이 없어진다.<ref name="nginx" /> === 라이믹스 2.0 이상에서의 주의 === '''라이믹스 2.0부터는 rewrite 규칙 안에 <code>location / { try_files ... }</code> 블록이 이미 포함되어 있다.''' 사이트 설정에 같은 블록을 또 넣으면 오류가 발생하므로 넣지 말아야 한다.<ref name="nginx" /> == PHP-FPM 연동 경로 확인 == PHP 버전에 따라 소켓 경로가 달라진다. 아래 명령으로 확인할 수 있다.<ref name="nginx" /> <syntaxhighlight lang="console"> # Ubuntu 계열 grep -r "listen =" /etc/php/8.2/fpm/pool.d # CentOS 계열 grep -r "listen =" /etc/php-fpm.d </syntaxhighlight> 로컬 포트로 연동하는 경우에는 소켓 대신 <code>fastcgi_pass 127.0.0.1:9000;</code>을 사용한다. == 배포판별 참고 == === Ubuntu === 비교적 최신 버전의 nginx가 패키지로 제공되므로 그대로 설치하면 된다. <syntaxhighlight lang="console"> apt-get install nginx </syntaxhighlight> 최근 Ubuntu에서는 잡다한 설정 파일을 <code>/etc/nginx/snippets</code> 폴더에 넣는 것이 관례이다.<ref name="nginx" /> === CentOS === 기본 제공되는 nginx 버전이 낮으므로 [https://nginx.org/en/linux_packages.html nginx 공식 홈페이지]의 RPM 저장소를 사용해 최신 버전을 설치하는 것이 좋다. CentOS에는 <code>snippets</code> 폴더 관례가 없지만, <code>conf.d</code> 폴더에 rewrite 규칙을 넣으면 인클루드 순서가 어긋나 오류가 날 수 있다. Ubuntu처럼 <code>snippets</code> 폴더를 만들어 쓰는 편이 낫다.<ref name="nginx" /> == 적용과 확인 == 설정을 바꾼 뒤에는 nginx를 다시 시작해야 한다. <syntaxhighlight lang="console"> nginx -t # 문법 검사 service nginx restart </syntaxhighlight> 재시작에서 오류가 나면 <code>/var/log/nginx/error.log</code>를 확인하자.<ref name="nginx" /> == 같이 보기 == * [[라이믹스/매뉴얼]] * [[라이믹스/설치]] * [[라이믹스/매뉴얼/설치 환경]] * [[라이믹스/라우터]] == 각주 == <references /> <!-- 분류 --> [[분류:라이믹스]] [[분류:라이믹스/매뉴얼]] 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림) 이 문서에서 사용한 틀: 틀:상위문서 (편집) 틀:상위문서/styles.css (편집)