php里面CGI(common gateway interface),fast-cgi,php-fpm

1,首先internet通过webserver,webserver取得的数据,如果是html的,就去主机抓取html去返回给client,如果是php或者其他脚本语言的,webserver就根据这个去转发,这其中有关联着nginx的内部源码的写法,openresty是一个开源的工具,然后webserver里面有CGI,可以理解为一个转发吧,然后fast-cgi,顾名思义,是建立一个类似多线程,譬如有个数据库的链接,fast-cgi,这个无关语言,开启一个master,里面有了链接好数据库的环境,当有多次请求的时候,就开启worker,去利用master的资源(其中,对于线程,有着stack,没有进程的heap,也没有address_space),然后php-cgi是一个php脚本解析器,php-fpm是个资源管理器。
学习地址:传送门
2,php多线程,可以利用shell开启多线程,注意的是执行语句之后要加入一个 & 不然shell会阻塞,
#!/bin/bash  //指定bash,必须
//注明:http://www.manongjc.com/article/1503.html
for(( i=0; i<20; i++))
do
php test.php & //执行test.php,&符号的意思是把该操作放在后台执行,这样shell就可以继续执行下一步sleep命令了。如果没有这个符号,shell会阻塞在这里。
sleep 1s
done

其次,可以创建一个server监听,
传送门

3,tcp和udp下socket的编程,可以和三次握手相互对应,分别是socket,connect,bind,listen,accept,(当有个新的seq,返回的ack = seq +1)传送门正确地址

4,

你可能感兴趣的:(php,php,nginx)