lnmp架构搭建---源码编译MYSQL,PHP,nginx

1.什么是LNMP?

LNMP = Linux+Nginx+Mysql+PHP
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx中的PHP是以fastcgi的方式结合Nginx的,可以理解为Nginx代理了PHP的fastcgi。
LNMP和LAMP唯一不同是指提供web服务的是Nginx而不是Apache:在Apache中,PHP是作为一个模块存在的。
在Nginx中,PHP是作为一个独立服务存在的,这个服务叫做php-fpm. ;Nginx直接处理静态请求,动态请求会转发给php-fpm.

2.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的形式传送给浏览器。
  • 浏览器再进行解析与渲染然后进行呈现。

实验环境

主机(版本:ip) 功用
虚拟机server1(rhel7.3:172.25.16.1) 搭建lnmp
真机(rhel7.3:172.25.16.250) 测试机

3.MYSQL数据库的源码编译

step1 解压安装 mysql:

tar zxf mysql-boost-5.7.28.tar.gz

step2 创建 mysql 用户:

useradd -s /sbin/nologin -M mysql

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

yum install -y cmake	#编译mysql需要用的包
cd mysql-5.7.28	#进入mysql解压后的目录
#以下命令为编译:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \			#安装位置
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ 	#指定套接字文件位置
> -DEXTRA_CHARSETS=all \ 										#扩展字符集
> -DDEFAULT_CHARSET=utf8 \										#默认字符集
> -DDEFAULT_COLLATION=utf8_general_ci \							#默认字符校对
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \							#安装myisam 存储引擎
> -DWITH_MYISAM_STORAGE_ENGINE=1 \								#安装innodb存储引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1 \								#安装memory存储引擎
> -DWITH_READLINE=1 \											#支持readline库
> -DENABLED_LOCAL_INFILE=1 \									#启用加载本地数据
> -DMYSQL_USER=mysql \											#指定mysql运行用户
> -DMYSQL_TCP_PORT=3306											#指定mysql端口

step4 根据提示解决依赖性问题:

yum install -y gcc gcc-c++ ncurses-devel openssl-devel -y

step5 可能会看到这样的报错:

CMake Error at cmake/boost.cmake:81 (ME
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值