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运行的服务

posted @ 2025-04-24 14:07  国家一级冲浪yzk  阅读(9)  评论(0)    收藏  举报