fastcgi_질문

1737 단어
원본 링크:https://www.cnblogs.com/heaven-xi/p/11006222.html
Nginx 와 PHP - FPM 의 프로 세 스 간 통신 은 두 가지 방식 이 있 습 니 다. 하 나 는 TCP 이 고 하 나 는 UNIX Domain Socket 입 니 다. 그 중에서 TCP 는 IP 포트 로 서버 를 뛰 어 넘 을 수 있 습 니 다. 유 닉 스 Domain Socket 은 네트워크 를 거치 지 않 고 Nginx 와 PHP - FPM 이 같은 서버 에 있 는 장면 에 만 사 용 됩 니 다. 어떤 것 을 사용 하 느 냐 에 따라 PHP - FPM 설정 이 달라 집 니 다. 방식 1: pp - fpm. conf: listen = 127.0.0.0.1: 9000 nginx. conf: fastcgipass 127.0.0.1:9000; 방식 2: php - fpm. conf: listen = / tmp / php - fpm. sock nginx. conf: fastcgipass unix:/tmp/php-fpm.sock; 그 중에서 phop - fpm. sock 은 하나의 파일 로 phop - fpm 에서 생 성 되 며, 유형 은 srw - rw - - -.
UNIX Domain Socket 은 친연 관계 가 없 는 두 프로 세 스에 사용 할 수 있 으 며, 현재 광범 위 하 게 사용 되 고 있 는 IPC 메커니즘 이다. 예 를 들 어 X Window 서버 와 GUI 프로그램 사이 에는 UNIX Domain Socket 을 통 해 통신 된다. 이러한 통신 방식 은 네트워크 에서 전파 되 지 않 고 시스템 내 핵 에서 발생 한다. UNIX Domain Socket 과 긴 연결 은 TCP 짧 은 연결 을 자주 만 들 지 않 기 때문에 TIMEWAIT 연결 이 너무 많은 문제 입 니 다. 프로 세 스 간 에 통신 하 는 두 프로그램 에 대해 UNIX Domain Socket 의 프로 세 스 는 TCP 층 에 가지 않 고 파일 형식 으로 stream socket 으로 통신 합 니 다. TCP Socket 이 라면 IP 층 으로 가 야 합 니 다. 같은 서버 가 아 닌 경우 TCP Socket 은 더 많이 갑 니 다.
UNIX Domain Socket: Nginx < = > socket < = > PHP - FPM TCP Socket (로 컬 루프): Nginx < = > socket < = > TCP / IP < = > socket < = > PHP - FPM TCP Socket (Nginx 와 PHP - FPM 은 서로 다른 서버 에 있 음): Nginx < = > socket < = > TCP / IP < = > 물리 층 < = > 공유 기 < = > 물리 층 < = > TCP / IP < = > socket < = > PHP - FPM
my sql 명령 행 클 라 이언 트 가 my sqld 서 비 스 를 연결 하 는 것 도 이와 유사 합 니 다. 유 닉 스 소켓 으로 연결 (기본 값): mysql -uroot -p --protocol=socket --socket=/tmp/mysql.sock TCP 로 연결 합 니 다. mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306

좋은 웹페이지 즐겨찾기