nginx rewrite 하는방법

Extra Form
PHP PHP 7.3
CMS Rhymix 1.x

아파치를 쓰다가 nginx로 넘어왔습니다.

 

 

캡처.PNGmod_rewrite를 활설화 시키고 싶어서

인터넷에서 찾아서 해보았는데 계속 안되서 이렇게 글 남겨봅니다 ㅠ

  • profile
    https://rhymix.org/manual/introduction/nginx
  • profile profile
    제가
    curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf
    이거를 한다음
    설정파일에다가
    include snippets/rhymix.conf;
    이거를 넣었는데 되지가 않습니다 혹시 아예 똑같이 해야하나요?
  • profile profile
    님이 curl하신 부분은 1.9를 위한 부분이 아닙니다.

    2.0 에서 사용될 라우터기능이랑 같이 사용하는 부분이기 때문에 1.9에 맞는 nginx설정을 가져다가 써야 합니다.

    https://github.com/rhymix/rhymix/tree/1.9.9.9/common/manual/server_config
  • profile profile

    저는 메뉴얼에 나온대로 이외 별도로 한 것은 없어서 잘 모르겠네요.
    nginx 재시작은 하셨겠죠.

     

    지금 신규 설치인데 1.9 를 설치하시나요?

    그럼 예전 rewrite 를 적용하셔야 합니다.

  • profile profile
    라이믹스는 2.0으로 했습니다
    재시작은 했는데 아마 다른문제인것 같습니다 ㅠ
  • profile profile
    2.0 선택은 실수로 1.x로 한것 같습니다
  • profile
    윗답변에도 안되는 부분이 있다면 실제 서버에서 정상적으로 세팅된 부분이 없을 수 있으며, 인클루드나 문법쪽에서 에러가 뿜어나오는게 있는지 없는지 알지 못하는 상황에서는 답변자도 더 이상 답변이 진행이 어렵습니다.

    본인이 어떻게 세팅을 햇는지 어떤 코드를 어디 파일에 입력햇는지, 인클루드 및 전체적인 도메인접속 세팅이 어떻게 되어있는지, 실제로 윗분이 알려주신 링크의 메뉴얼대로 세팅한 것인지 등등 본인의 스탭바이스탭을 알려주시면 다른분들 답변하는데 도움이 될 것 같네요.
  • profile profile
    이게 도움이 될지는 모르겠지만
    https://blog.lael.be/post/8319
    아래 블로그에 나와있는 그대로 하였습니다
  • profile profile
    conf 설정은
    https://webmaster.cafe/tools/nginx-conf-generator/my-example-site.com.php
    여기서 '짧은 주소'라는 것을 그대로 사용하였습니다.
  • profile profile
    라이믹스에서 제공하는 기본적인 보편적인 방법대로 세팅하시면 lael.be사이트나 웹마스터카페에 있는 정보 없이도 충분히 세팅이 됩니다.

    아무래도 여러가지 조합하면서 nginx가 시작이 재대로 안된다던가 문제가 있는게 아닌가 의심되네요
  • profile profile

    이런식으로 하지 마시고 작성하신 것을 그대로 여기에 적어서 전문가분들에게 검토을 받던지 하세요.

    링크해드린 메뉴얼에도 보면
    # location 구문을 사용하는 다른 설정은 반드시 라이믹스 rewrite 규칙보다 나중에 선언해야 합니다.

    이런 중요한 부분도 있고

    주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.

    이러한 부분도 있습니다.

    어떤 글을 어떤 메뉴얼을 참조했는데 안된다. "난 그대로 했다." 라는 정보가 현실적으로 도움을 주시려는 분들에게 정보가 될지 의문입니다. 그대로 한 것이 문제일 수도 있고 실제 뚜껑을 열어보면 그대로 하지 않아서 안되는 경우가 대부분 입니다.

  • profile profile
    앗 알겠습니다
    조언 해주신부분 감사드립니다.
  • profile profile
    앗 알겠습니다!
  • profile profile
    혹시 제공하는 보편적인 방법이 github에 있는거 맞나요?
  • profile profile

    위에 링크 추가된것들 다 확인해보시면 있어요.

    실제로 제가 링크해드린 부분에서도 3개중에 1개는 확인해달라는 문서입니다.

    https://rhymix.org/manual/introduction/nginx
    https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx-help.md

  • profile profile
    github에 링크 관련 3개의게시글 전부 확인해보았었습니다
    제가 이해를 잘못했었네요 ㅠ
    저는 처음부터 끝까지 설치하는 메뉴얼이 있다고 착각했었습니다
  • profile profile
    https://rhymix.org/manual/introduction/nginx 이 링크만 보더라도 왼만큼 설치하는 방법에 대해서 다 설명해둔것 같은데요.. 기타 경로라던지 계정연결문제라던지 그건 개인 서버에서 응용하여 설치하는 것이고요..
  • profile profile

    설마 nginx 설정구문을 사이트에서 잘 돌아가게 작성해 달라는건 아니시잖아요?

    그럼 라이믹스에서 요구하는 설정 메뉴얼을 제시해 드렸습니다.

    그리고 대화 과정에서 중요한 부분은 언급해 드릴 필요도 있을 정도로 정보가 부족해서 그부분도 언급해 드렸습니다.

    그런데 그부분에 대한 옳게 작성했는지 피드백도 없으십니다.
    # location 구문을 사용하는 다른 설정은 반드시 라이믹스 rewrite 규칙보다 나중에 선언해야 합니다.

    주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.


    그런데 이 두가지 우선 답변하셔야 할 것 2가지 모두 네. 이상없이 했습니다. 라고 답변하셔도 의미가 없습니다.

    왜냐면 안된다면 어딘가 잘못 작성된 곳이 있기 때문이죠.


    환자가 집에 있는데 처치에 관한 도움될만 한 글을 보고 처치를 했는데 집에 있는 환자가 차도가 있질 않습니다.
    어떻게 해야 하는지 가르쳐 주세요.

    의사는 집에 있는 환자를 직접 데리고 오라고 하실 겁니다.


    작성하신 것을 여기에 오픈하셔서 라이믹스에서 최소한 rewrite 룰이 작동할 수 있도록 해달라고 한 요청을 제대로 하신 것인지 확인을 받으셔야 합니다.

  • profile

    위에서 참고하셨다고 하신 다른 예제들을 보면 온갖 부가적인 설정이 많이 들어가 있습니다. nginx는 설정 순서와 중복 설정에 매우 민감하기 때문에, 임의로 조합해서 사용하시면 어느 것이 라이믹스 짧은주소 설정과 충돌할지 알 수 없습니다. 외부 자료는 무시하고 라이믹스 공식 매뉴얼에 있는 것만 쓰세요.

     

    라이믹스 매뉴얼에서 제공하는 최소한의 내용을 기초로 1) 도메인, 2) PHP 연동하는 경로, 3) 필요시 SSL 설정 정도만 커스터마이징해 보세요. 최대한 순정상태에 가깝게 돌려보고, 되는지 안 되는지 확인부터 해야죠. 필요하지도 않은 설정이 덕지덕지 붙어 있는 복잡한 예제로 시작하시면 곤란합니다. 일단 최소한의 설정으로 작동을 확인한 후, 추가하고 싶은 기능이 있다면 맨 아래에 추가하시면 됩니다.

     

    nginx 문법에 오류가 있는지 확인하려면 nginx -t 명령을 내려 보세요. 만약 여기서 오류가 난다면 그냥 설정파일을 잘못 작성하신 것입니다. 세미콜론이나 중괄호가 빠졌다든지.... 만약 오류가 안 나는데 작동하지 않는다면 다른 설정과 충돌하고 있을 가능성이 높고요.

  • profile profile
    앗 알겠습니다.