질문/조언질답게시판

nginx와 관련해서 궁금한 사항이 있어 검색을 해봐도

확실한 답을 찾지 못해 이 곳에 질문을 올려 봅니다.

 

웹서버를 운영하는데 nginx와 php-fpm을 각각 다른 서버에서 운영하고자 합니다.

 

기존

A 서버 : nginx -> www/A (웹 소스 폴더 위치)

A 서버 : php-fpm -> 따로 설정해준게 없음
 

변경 후

A 서버 : nginx -> www/A (웹소스 폴더 위치)

B 서버 : php-fpm -> 에러가 뜨길래 www/A 폴더와 동일하게 만들어 복사해 줌

 

제가 궁금한건 원래 각각 다른 서버의 두 곳의 "동일한 위치에 웹 홈 폴더"가 설정되어 있어야

php가 원격으로 동작하는데 문제가 없는 것인지요?

 

만약, 위와 같이 동일한 위치에 소스 폴더를 설정해 주는것이 맞다면,

하나의 nginx 웹 서버에 다수의 php-fpm을 (fasfcgi_pass) 연결하는 경우에도

다른 설정 없이 소스 폴더 위치와 내용을 동일하게 설정만 해주면 되는것인지요?

 

아니면 자체적으로 라운드 로빈과 같은 설정으로 fastcgi_pass를 따로 관리해줘야 하는 것인지요?

 

너무 궁금한데 답을 찾기가 너무 어려워 이렇게 질문을 올려봅니다.

혹 아시는 분이 계시다면 팁을 부탁 드리겠습니다.

 

  • ?
    답글이 없어 의미 없는 글이 될까 삭제할까 하다 제가 얻은 결론이 혹 다른분에게도 도움이 될까 남겨봅니다.

    일단, 해외의 경우 제가 부족해서인지 document로 명확한 근거를 찾지는 못했지만,
    몇개의 사례를 확인하였을때 웹 서버와 동일한 위치에 폴더 및 파일을 성정해 두면 된다는 것으로
    확인하였고,

    이전 테스트 역시 docker로 환경을 구축해서 테스트를 했을때도 동일했습니다.

    다만 새로 얻은 지식으로 php.ini 파일에 doc_root, user_dir 두 변수가 있는데
    해당 변수가 아마도 명시적으로 소스 폴더 위치를 정의하는 것으로 확인됩니다.

    저는 동일한 폴더 위치를 사용하기로 했기에 테스트까지는 하지 않았습니다.

    그리고 fastcgi_pass 또한 라운드로빈 등의 부하관리를 하면서
    요청을 넣을 수 있는것으로 nginx config 파일의 유사한 예시를 해외에서 확인하였습니다.

    물론 정확히는 테스트를 해봐야겠지만, 아직 거기까지는 테스트 해보지 않았습니다.
    차후 테스트를 할 예정이네요.

    누군가에게 도움이 되셨길 바랍니다