day52 LNMP更深刻的理解
day52 LNMP 更深的理解
hello美好的一天
前言
拆分的思路
对于上一节课的单机部署LNMP
我们要拆分为集群的模式进行,一堆的机器做一个网站
也就是说,多个机器提供一个网站访问
添加的节点db-51 数据库服务器
nfs-31 共享型数据库服务器
web-8 再来一个服务端
开始了
我们会遇见,很多个协议
非常底层的知识,需要有很多的基础的理论的知识铺垫
就类似于学习tcp/ip一样
我们在日常使用的软件,底层都是计算机网络协议,定制通信的数据规则
这个规则我们短期内不会有太多的接触,起码要等到我们工作一年以后,再去琢磨这个事情
目前我们的目标是把软件会用,知道这个原理存在即可。
bind软件 用于通信 dns协议
ntpd服务 用于数据共享 ntp协议
nginx服务 用于服务后端 http协议
php-fpm软件 php高速公路 fastcgi协议
python uwsgi协议
不需要会,会部署即可,等找到工作了稳定了再去找相关的书籍,去进阶。
# php-fpm进程(这个进程是为了接收nginx发来的请求)
如找到一个login.php的程序,判断用户是否可以登录,一个用于运行php代码的高速收费站。
php-fpm内部有2个东西
1.基于fascgi协议运行的程序--------
(fastcgi_pass)php高速公路把http数据发给这个网关的接口和nginx来收发数据的。
2. 这个进程可以读取某个目录下的php源代码文件,
(login_php test-mysql.php register.php index.php 的网站官网)
文字描述 nginx+php的通信过程
wordpress.yzk.com
经过你的nginx的配置
server{
listen 80;
server_name wordpress.linux0224.cn ;
# 在这里判断,例如当用户想访问网站官网,其实要访问的index.php
# wordpress.linux0224.cn:80/index.php
# 这个网站官网的代码文件,放哪呢。
# 以及这个请求如何转发给php-fpm去加载这个php代码呢!
location / {
root /code/wordpress/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 保留用户想请求的脚本名,以及具体的uri信息的!
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 导入一个文件,能够让fastcgi识别http的这些内置变量
#在nginx的默认路径下
#cat /etc/nginx/fastcgi_params
include fastcgi_params;
}
}
fastcgi的内置变量--了解即可
文件的路径
/etc/nginx/fastcgi_params
# 里面有很多的变量他们都是
定义fastcgi协议格式的
变量名
目的是为了 ---> 提取客户端的请求的信息
这些变量最后都是给php程序去读取的
目的-->理解nginx结合php-fpm工作的原理流程
1. 我们先搞懂这个流程
以后遇见这个php源代码部署的服务
我么应该怎样的部署
3.以后挣了钱在慢慢的学习

fastcgi的简单介绍一下
fastcgi 主要用于
php程序 和 nginx之间的联系
主要是通过fastcgi网关协议这个通道
fastcgi_pass 127.0.0.1:9000;
fastcgi_param xxx;
这个服务运行在本机地址的9000端口上
nginx把客户端的http变量转化为fastcgi认识的变量
转发给本机器的9000端口(php-fpm)高速收费站php运行的服务

浙公网安备 33010602011771号