nginx rewrite 하는방법
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.3 |
아파치를 쓰다가 nginx로 넘어왔습니다.
mod_rewrite를 활설화 시키고 싶어서
인터넷에서 찾아서 해보았는데 계속 안되서 이렇게 글 남겨봅니다 ㅠ
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.3 |
아파치를 쓰다가 nginx로 넘어왔습니다.
mod_rewrite를 활설화 시키고 싶어서
인터넷에서 찾아서 해보았는데 계속 안되서 이렇게 글 남겨봅니다 ㅠ
댓글 20
curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf
이거를 한다음
설정파일에다가
include snippets/rhymix.conf;
이거를 넣었는데 되지가 않습니다 혹시 아예 똑같이 해야하나요?
2.0 에서 사용될 라우터기능이랑 같이 사용하는 부분이기 때문에 1.9에 맞는 nginx설정을 가져다가 써야 합니다.
https://github.com/rhymix/rhymix/tree/1.9.9.9/common/manual/server_config
저는 메뉴얼에 나온대로 이외 별도로 한 것은 없어서 잘 모르겠네요.
nginx 재시작은 하셨겠죠.
지금 신규 설치인데 1.9 를 설치하시나요?
그럼 예전 rewrite 를 적용하셔야 합니다.
재시작은 했는데 아마 다른문제인것 같습니다 ㅠ
본인이 어떻게 세팅을 햇는지 어떤 코드를 어디 파일에 입력햇는지, 인클루드 및 전체적인 도메인접속 세팅이 어떻게 되어있는지, 실제로 윗분이 알려주신 링크의 메뉴얼대로 세팅한 것인지 등등 본인의 스탭바이스탭을 알려주시면 다른분들 답변하는데 도움이 될 것 같네요.
https://blog.lael.be/post/8319
아래 블로그에 나와있는 그대로 하였습니다
https://webmaster.cafe/tools/nginx-conf-generator/my-example-site.com.php
여기서 '짧은 주소'라는 것을 그대로 사용하였습니다.
아무래도 여러가지 조합하면서 nginx가 시작이 재대로 안된다던가 문제가 있는게 아닌가 의심되네요
위에 링크 추가된것들 다 확인해보시면 있어요.
실제로 제가 링크해드린 부분에서도 3개중에 1개는 확인해달라는 문서입니다.
https://rhymix.org/manual/introduction/nginx
https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx-help.md
제가 이해를 잘못했었네요 ㅠ
저는 처음부터 끝까지 설치하는 메뉴얼이 있다고 착각했었습니다
설마 nginx 설정구문을 사이트에서 잘 돌아가게 작성해 달라는건 아니시잖아요?
그럼 라이믹스에서 요구하는 설정 메뉴얼을 제시해 드렸습니다.
그리고 대화 과정에서 중요한 부분은 언급해 드릴 필요도 있을 정도로 정보가 부족해서 그부분도 언급해 드렸습니다.
그런데 그부분에 대한 옳게 작성했는지 피드백도 없으십니다.
# location 구문을 사용하는 다른 설정은 반드시 라이믹스 rewrite 규칙보다 나중에 선언해야 합니다.
주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.
그런데 이 두가지 우선 답변하셔야 할 것 2가지 모두 네. 이상없이 했습니다. 라고 답변하셔도 의미가 없습니다.
왜냐면 안된다면 어딘가 잘못 작성된 곳이 있기 때문이죠.
환자가 집에 있는데 처치에 관한 도움될만 한 글을 보고 처치를 했는데 집에 있는 환자가 차도가 있질 않습니다.
어떻게 해야 하는지 가르쳐 주세요.
의사는 집에 있는 환자를 직접 데리고 오라고 하실 겁니다.
작성하신 것을 여기에 오픈하셔서 라이믹스에서 최소한 rewrite 룰이 작동할 수 있도록 해달라고 한 요청을 제대로 하신 것인지 확인을 받으셔야 합니다.
이런식으로 하지 마시고 작성하신 것을 그대로 여기에 적어서 전문가분들에게 검토을 받던지 하세요.
링크해드린 메뉴얼에도 보면
# location 구문을 사용하는 다른 설정은 반드시 라이믹스 rewrite 규칙보다 나중에 선언해야 합니다.
이런 중요한 부분도 있고
주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.
이러한 부분도 있습니다.
어떤 글을 어떤 메뉴얼을 참조했는데 안된다. "난 그대로 했다." 라는 정보가 현실적으로 도움을 주시려는 분들에게 정보가 될지 의문입니다. 그대로 한 것이 문제일 수도 있고 실제 뚜껑을 열어보면 그대로 하지 않아서 안되는 경우가 대부분 입니다.
조언 해주신부분 감사드립니다.
위에서 참고하셨다고 하신 다른 예제들을 보면 온갖 부가적인 설정이 많이 들어가 있습니다. nginx는 설정 순서와 중복 설정에 매우 민감하기 때문에, 임의로 조합해서 사용하시면 어느 것이 라이믹스 짧은주소 설정과 충돌할지 알 수 없습니다. 외부 자료는 무시하고 라이믹스 공식 매뉴얼에 있는 것만 쓰세요.
라이믹스 매뉴얼에서 제공하는 최소한의 내용을 기초로 1) 도메인, 2) PHP 연동하는 경로, 3) 필요시 SSL 설정 정도만 커스터마이징해 보세요. 최대한 순정상태에 가깝게 돌려보고, 되는지 안 되는지 확인부터 해야죠. 필요하지도 않은 설정이 덕지덕지 붙어 있는 복잡한 예제로 시작하시면 곤란합니다. 일단 최소한의 설정으로 작동을 확인한 후, 추가하고 싶은 기능이 있다면 맨 아래에 추가하시면 됩니다.
nginx 문법에 오류가 있는지 확인하려면 nginx -t 명령을 내려 보세요. 만약 여기서 오류가 난다면 그냥 설정파일을 잘못 작성하신 것입니다. 세미콜론이나 중괄호가 빠졌다든지.... 만약 오류가 안 나는데 작동하지 않는다면 다른 설정과 충돌하고 있을 가능성이 높고요.