NMP架构的搭建——源码编译(MYSQL,PHP,nginx)

本文详细介绍了如何在Linux环境下通过源码编译搭建LNMP(Linux, Nginx, MySQL, PHP)架构。首先讲解LNMP的工作原理,然后分别阐述MySQL数据库、PHP和Nginx的源码编译过程,包括依赖安装、配置、编译和启动等关键步骤。" 111733144,10292990,WinForms 设计器异常:值不能为空参数名称:上下文,"['winform', '设计时错误', 'Visual Studio', '控件', '代码生成']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、知识剖析

LNMP架构介绍
LNMP = Linux+Nginx+Mysql+PHP
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx中的PHP是以fastcgi的方式结合Nginx的,可以理解为Nginx代理了PHP的fastcgi。
LNMP和LAMP唯一不同是指提供web服务的是Nginx,
在Apache中,PHP是作为一个模块存在的。而在Nginx中,PHP是作为一个独立服务存在的,这个服务叫做php-fpm。
Nginx直接处理静态请求,动态请求会转发给php-fpm.
LNMP的工作原理
首先,浏览器发送http request请求到服务器(Nginx)
服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序)
PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。
PHP解析器进程可以启动多个,进行并发执行。然后将解析后的脚本返回到PHP-FPM
PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx
服务器再通过Http response的形式传送给浏览器。
浏览器再进行解析与渲染然后进行呈现。

二、MYSQL数据库的源码编译

源码编译

得到mysql数据库的源码包,并进行解压

[root@server1 ~]# tar zxf mysql-boost-5.7.17.tar.gz 

创建一个目录(用于将之后编译的的MYSQL,PHP,nginx都放在一起)

[root@server1 ~]# mkdir -p /usr/local/lnmp

安装源码编译工具cmake(支持编译C++语言)
cmake跨平台工具是用来预编译mysql源码的,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等

[root@server1 ~]# yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y

创建预编译环境,可以定制即加上自己所需的安装条件(比如安装位置等等)

[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \      指定mysql的安装位置
 -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \     数据库中数据存放的目录
 -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \    \链接数据库的SOCKET文件      
 -DWITH_MYISAM_STORAGE_ENGINE=1 \      安装MYISAM存储引擎
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \    
 -DDEFAULT_CHARSET=utf8 \             使用UTF-8字符编码
 -DDEFAULT_COLLATION=utf8_general_ci \     校验字符
 -DEXTRA_CHARSETS=all \     安装所有扩展字符集

在这里插入图片描述

3.在初次编译后,我们会发现有许多依赖性未安装,一个一个解决依赖项,预编译环境配置完成
在这里插入图片描述

[root@server1 mysql-5.7.17]# yum install gcc gcc-c++ -y

再次编译
在这里插入图片描述
添加下图划线部分再次编译
在这里插入图片描述

在这里插入图片描述

[root@server1 mysql-5.7.17]# yum install ncurses-devel -y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值