nginx+php 요청을 수행하는 방법은 무엇입니까? 다음 기사에서는 nginx+php 실행 요청의 작동 원리를 소개합니다. 이는 특정 참조 가치가 있으므로 도움이 필요한 친구가 될 수 있기를 바랍니다.
php 작동 원리
먼저 흔히 듣는 cgi, php-cgi를 이해해보자. fastcgi, php-fpm과 php의 작동 방식을 이해하는 데 도움이 되는 관계는 무엇입니까? 프로토콜은 웹 서버(예: nginx)를 결정하는 데 사용됩니다. 즉, 콘텐츠 배포 서버에서 전달되는 데이터와 데이터 형식은 무엇입니까#🎜 🎜#
php-cgi 프로세스 인터프리터#🎜🎜 #php-cgi는 php의 CGI 프로토콜 프로세스 인터프리터입니다. 시작되면 php.ini 파일을 로드해야 합니다 -> 실행 환경 초기화 -> 요청 처리 ->웹 서버로 콘텐츠 반환->php-cgi 프로세스 종료
# 🎜🎜#
fastcgi 프로토콜fastcgi 이 프로토콜은 주로 CGI 프로토콜의 효율성 향상을 보완하는 프로토콜입니다. 요청이 올 때마다 cgi 인터프리터 프로세스가 더 이상 웹 서버 요청을 받을 때마다 php.ini를 다시 로드할 필요가 없습니다. #php-fpm 프로세스 관리자
php-fpm은 fastcgi 프로토콜용입니다. 구현은 시작 시 마스터 및 작업자 프로세스를 포함하는 프로세스 관리자입니다. 일반적으로 여러 작업자 프로세스가 있으며 각 작업자 프로세스에는 실행을 위한 CGI 프로세스 인터프리터가 있습니다. 원리phpfpm을 시작하면 마스터 프로세스가 시작되고 .ini 파일이 로드되고 실행 환경이 초기화되며 여러 작업자 프로세스가 시작됩니다. 요청이 올 때마다 처리를 위해 작업자 프로세스로 전달됩니다
php 원활한 재시작 원칙#🎜 🎜# php.ini 구성을 수정하고 다시 시작할 때마다 새 작업자 프로세스가 시작되어 새 구성을 로드하며, 작업이 완료된 후 기존 프로세스가 삭제되므로 원활한 다시 시작이 이루어집니다 # 🎜🎜##🎜 🎜#nginx 작동 원리
nginx와 php가 함께 작동하는 방식을 이해하려면 먼저 서버도 이해해야 합니다. nginx 구성 파일의 일부#🎜 🎜#
server { listen 80; #监听80端口,接收http请求 server_name www.example.com; #一般存放网址,表示配置的哪个项目 root /home/wwwroot/zensmall/public/; # 存放代码的根目录地址或代码启动入口 index index.php index.html; #网站默认首页 #当请求网站的url进行location的前缀匹配且最长匹配字符串是该配置项时,按顺序检查文件是否存在,并返回第一个找到的文件 location / { #try_files,按顺序检查文件是否存在,返回第一个找到的文件 #$uri代表不带请求参数的当前地址 #$query_string代表请求携带的参数 try_files $uri $uri/ /index.php?$query_string; #按顺序检查$uri文件,$uri地址是否存在,如果存在,返回第一个找到的文件;如果都不存在,发起访问/index.php?$query_string的内部请求,该请求会重新匹配到下面的location请求 } #当请求网站的php文件的时候,反向代理到php-fpm去处理 location ~ \.php$ { include fastcgi_params; #引入fastcgi的配置文件 fastcgi_pass 127.0.0.1:9000; #设置php fastcgi进程监听的IP地址和端口 fastcgi_index index.php; #设置首页文件 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #设置脚本文件请求的路径 } }위 서버 구성의 전반적인 의미는 nginx가 포트 80에서 URL 요청을 수신할 때마다 URL에서 위치 일치를 수행한다는 것입니다. / 규칙이 일치하면 내부 요청이 리디렉션되고 /index.php?$query_string의 내부 요청이 시작되며 해당 위치 구성 규칙은 포트에서 수신 대기 중인 php-fpm의 마스터 프로세스로 요청을 보냅니다. 9000#🎜🎜 #Summary
가장 간단한 사용자 요청 프로세스는 아래에 요약되어 있습니다. #🎜🎜 #사용자 접속 도메인 이름 -> 도메인 이름은 DNS 확인 수행 -> 해당 IP 서버 및 포트에 요청 -> nginx는 해당 포트의 요청을 수신 -> nginx는 URL에서 위치 매칭 수행 -> 실행 일치하는 위치->nginx 아래의 규칙 php->php-fpm의 마스터 프로세스로 요청을 전달합니다. nginx 요청을 수신합니다.->마스터 프로세스는 유휴 작업자 프로세스 중 하나에 요청을 할당합니다.->작업자 프로세스는 다음을 실행합니다. request->worker 프로세스는 실행 결과를 nginx로 반환합니다.- >nginx는 결과를 사용자에게 반환합니다위 내용은 이 글의 전체 내용이므로, 모두의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 nginx+php는 어떻게 요청을 수행합니까? 작동 원리 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

뜨거운 주제



