从URL输入浏览器到页面显示全过程
第一步:域名解析,将域名解析成对应ip。
按先后顺序查看
1.浏览器缓存。
2.本机的host文件。(Linux:/etc/hosts)
3.路由器缓存。
4.本地DNS服务器,递归查询对应IP。[本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步查询。]
第二步:通过3次握手,建立tcp连接。
第三步:通过http协议发送请求。
第四步:服务器接收请求,并处理,请处理结果即响应发送给浏览器。
Nginx 里的工作进程等于CPU核数。
惊群就是多个进程或者线程在等待同一个事件,当事件发生时,所有线程和进程都会被内核唤醒,而只有一个进程获得了该事件并处理,其他进程发现获取事件失败后又继续进入了等待状态,在一定程度上降低了系统性能。
Nginx解决惊群方案:利用进程锁,变多进程同时监听为单进程轮流监听。
Nginx与PHP的两种通信方式-unix socket和tcp socket
unix socket通信方式Nginx配置nginx.conf,需要在nginx配置文件中填写php-fpm运行的pid文件地址。
location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; }
tcp socket通信方式Nginx配置nginx.conf,需要在nginx配置文件中填写php-fpm运行的ip地址和端口号。
location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; }
第五步:通过四次挥手,释放tcp连接。
第6步:浏览器对接收到的数据,进行渲染和呈现。