질문을 삭제하지 말아주세요.!
 
1
0
-1

안녕하세요


LEMP서버 구축을 할 때 대부분 한 서버에 다 설치하거나 DB를 분리하는 구성으로 많이들 하실텐데요

php-fpm을 웹서버와 따로 분리해서 톰캣서버처럼 애플리케이션서버로 운용할 수가 있나요?

이런 경우 대부분 앞에 NginX를 리버스프록시를 두고 그 뒤에 LEMP서버를 여러대 배치하는 형식으로 하실텐데

아예 NginX와 PHP-FPM의 서버를 따로 분리해서 운용을 할 수 있는가 하는 겁니다.


혼자서 이것저것 해보다가 갑자기 궁금해져서 질문 드려봅니다.

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      Nginx 설정 파일을 보시면 아래와 같이 소켓 (fastcgi_pass) 연결부분이 있습니다.

          location ~ \.php$ {
              try_files $uri =404;
              fastcgi_split_path_info ^(.+\.php)(/.+)$;
              fastcgi_index   index.php;
              fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
              fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              include fastcgi_params;
          }

      여기만 변경해주시면 될것 같아요

      1. 지니
        답변 감사합니다.

        질문이 너무 러프하지 않았나 싶네요

        fastcgi_pass를 지정해서 하는 것은 설정을 해놓았구요
        웹서버와 php-fpm 서버가 분리가 되면

        컨턴츠를 어느곳에 두어야 하는지요 php-fpm이 설치된 애플리케이션 서버에 컨텐츠를 둔다면

        그 장소를 지정하거나 변경하는 설정은 어디서 해야 하나요?

        그리고 여러 서버에 디플로이할 때 순차적으로 진행이 될 텐데 컨텐츠의 정합성 문제와

        웹화면을 통해 업로드 되는 파일의 확산은 어떤식으로 하시는지요?

      2. songc

        웹서버와 php-fpm 이 분리가 된다하더라도 컨텐츠 저장소는 root 항목으로 잡아주시면 됩니다.

        컨텐츠가 저장된 서버를 nginx 서버에 link 시켜서 해당 경로를 root 항목으로 추가하여 사용하고 있습니다.

        이렇게 사용 할 경우 순차적으로 진행되지 않고 컨텐츠 수정과 동시에 적용됩니다.


            location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
        	    root           /home/wikitree/www;
                fastcgi_index   index.php;
                fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
      CommentAdd your comment...