LNMP架构部署动态产品
一、LNMP架构概述
LNMP是一套技术的组合,L = Linux、N = Nginx、M = MySQL、P = PHP,其工作原理如下:
1.用户通过http协议发起请求,请求会先抵达LNMP架构中的Nginx
2.Nginx会根据用户的请求进行判断,这个判断是有Location进行完成
3.判断用户请求的是静态页面,Nginx直接进行处理
4.判断用户请求的是动态页面,Nginx会将该请求交给fastcgi协议下发
5.fastgi会将请求交给php-fpm管理进程, php-fpm管理进程接收到后会调用工作进程warrap工作
6.warrap进程会调用php程序进行解析,如果只是解析代码php直接返回
7.如果有查询数据库操作,则由php连接数据库(用户 密码 IP)发起查询的操作
8.最终数据由 mysql->php->php-fpm->fastcgi->nginx->http->user
二、Nginx+PHP演示
服务准备 | IP地址 | 主机名 |
---|---|---|
Nginx、PHP | 192.168.10.200 | web1 |
nginx前面我们已经讲述过了,三种方式均可,这里不再赘述,我们简要说一下PHP服务和数据库的安装。
1 | # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |
我们需要保持Nginx服务和PHP服务的用户是一致的,最后效果如上图☝️
1 | # 设置fastcgi服务器的地址,该地址可以指定为域名或IP地址,以及端口 |
在/code目录下创建index.php文件,测试能否通过浏览器访问,访问成功如下图:
1 | [root@web1 /etc/nginx/conf.d]#cat /code/index.php |
三、LNMP部署博客产品WordPress
服务准备 | IP地址 | 主机名 |
---|---|---|
Nginx、PHP | 192.168.10.200 | web1 |
数据库(mariadb) | 192.168.10.2 | db01 |
1 | ### wordpress 产品是需要依赖数据库的,现在市面上几乎所有的业务都是需要数据库支持的 |
1 | # 下载WordPress代码 |
在wordpress的数据库配置文件(/code/wordpress/wp-config.php)中配置远程数据库连接:
最后配置完wordpres的server模块☝️ 部署任务基本完成 ,然后进入浏览器输入192.168.10.200/wordpress 测试:
点击开始,依次填入账户数据信息,就可以见到我们wordpress博客的真正面目了,我们可以随时进行主题更换和内容编辑发布。
同样的产品有很多,比如知乎开源版代码wecenter,我们也可以尝试自己部署一下,效果如下: