欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解并实现LNMP架构:一份详尽的指南

最编程 2024-08-09 20:32:21
...
LNMP架构介绍

LNMP:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

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

图解:
在这里插入图片描述

LNMP搭建

系统环境: RHEL6 x86-64 selinux and iptables disabled

本篇博客中涉及的所有软件包下载可参考此博客:https://blog.****.net/qq657886445/article/details/83662696

Mysql 编译安装
yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm

在这里插入图片描述

yum install -y gcc gcc-c++  ncurses-devel bison openssl-devel   #解决软件包依赖,不装这些依赖,等下cmake时会报错(这些依赖也可以根据报错一个一个解决,缺什么装什么即可)

在这里插入图片描述

tar zxf mysql-boost-5.7.17.tar.gz     #此压缩包需自行下载
cd mysql-5.7.17/
cat CMakeLists.txt  #每次cmake都会缓存在此文件,要是cmake报错之后要先删除此文件,再cmake
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lamp/mysql -DMYSQL_DATADIR=/usr/local/lamp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lamp/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/
# 指定安装目录,数据存放目录,Unix socket 文件路径,安装 myisam 存储引擎,安装 innodb 存储引擎,使用 utf8 字符,校验字符,安装所有扩展字符集,安装boots库(要是压缩包中没有boots则需自行下载,一般xxx-boots这类压缩包中都带有boots)

在这里插入图片描述

make && make install

在这里插入图片描述
注:重新编译时,需要清除旧的对象文件和缓存信息
make clean
rm -f CmakeCache.txt

cd /usr/local/lnmp/mysql/support-files
cp  my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld
vim /etc/my.cnf

在这里插入图片描述

groupadd -g 27 mysql
useradd -g 27 -u 27 -M -d /usr/local/lnmp/mysql/  -s /sbin/nologin mysql

在这里插入图片描述

vi ~/.bash_profile  
PATH=$PATH:/usr/local/lnmp/mysql/bin   #添加环境变量
source ~/.bash_profile    #使之生效

推荐阅读