LNMP详解(四)——LNMP原理与简单部署
今天继续给大家介绍Linux运维的相关知识,本文主要内容是LNMP原理与简单部署。
一、LNMP架构原理
LNMP架构,是指在Linux平台下,由运行Nginx的web服务器,运行PHP的动态页面解析程序和运行MySQL的数据库组成的网站架构,也是当前常用的系统架构之一。
在LNMP架构中,Nginx本身只负责静态页面的处理,当需要处理动态页面时,则需要Nginx将相关.php页面转交给php-fpm来进行处理,php-fpm会将PHP页面解析成html文件,然后交给Nginx进行处理。
与LAMP架构相比,LNMP的主要区别在于对PHP的处理上,LAMP对于PHP动态资源的处理是通过Apache的libphp5.so模块进行的,该模块内嵌如Apache中,而Nginx对PHP动态资源的处理则是通过php-fpm进行的,php-fpm是一个独立的模块,因此,在搭建LNMP架构时,Nginx和php-fpm都需要进行开启。LNMP架构如下所示:
二、LNMP部署实战
接下来,我们就进行LNMP的部署实战。
(一)YUM源配置
在进行实战YUM部署LNMP前,我们要首先配置LNMP的YUM源。想要YUM安装Nginx,就必须安装EPEL的扩展源,可以执行以下命令进行EPEL扩展源的安装:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
(二)Nginx安装与部署
Nginx的安装非常简单,只需要执行命令:
yum install -y nginx
即可,Nginx安装完毕后,Nginx的启动命令为:
systemctl start nginx
启动后,尝试访问Nginx页面,结果如下:
以这种方式安装的Nginx,其默认配置文件为/etc/nginx/nginx.conf,默认根目录为/usr/share/nginx/html。
(三)PHP安装与部署
接下来,我们需要安装PHP,并使得PHP支持Nginx。首先,安装PHP和PHP与Nginx的对接php-fpm,执行命令:
yum install -y php php-fpm
在安装完成后,我们还需要修改Nginx的配置文件,在http模块的server模块下,添加如下内容:
location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
添加后的页面如下所示:
在以上配置中,location模块是Nginx的一个定位模块,location后面的“~”表示进行正则表达式的匹配,匹配的对象是以.php结尾的动态资源。这样,当这样的资源被匹配到之后,就会进行location模块中指定的处理。fastcgi_pass指定了php-fpm模块的IP地址和端口号,fastcgi_param参数指定了读取php文件的位置。
上述安装完成后,在网站根目录中写一个PHP的测试页面,重启PHP后尝试访问,结果如下:
(四)MySQL安装与部署
最后,我们来安装MySQL,MySQL的安装比较简单,只需要执行命令:
yum install -y mariadb mariadb-server
安装完成后,发现当前系统打开了3306、9000和80端口,如下所示:
为了使得我们的PHP支持MySQL,还需要安装php-mysql,如下所示,这样,安装完成后,我们的PHP就可以与MySQL对接了。
尝试安装wordpress,结果如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
LNMP详解(四)——LNMP原理与简单部署相关推荐
- 【转详解步进电机工作原理】
详解步进电机工作原理[转自知乎gk-auto] 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响, ...
- 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程
@TOC初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程 [1]什么是windows API Windows API 中文翻译过来就是windows应用程序接口(Applica ...
- 详解帧中继工作原理及作用
详解帧中继工作原理及作用 帧中继特点 帧中继工作原理 帧中继的作用 帧中继习题 帧中继(FrameRelay)是一种用于连接计算机系统的面向分组的通信方法.它主要用在公共或专用网上的局域网互联以及广域 ...
- linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)
linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...
- Android Studio 插件开发详解四:填坑
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...
- mybatis 鉴别其_MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询 白玉 IT哈哈 支持的 JDBC 类型 为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 ...
- App Widgets 详解四 RemoteViews、RemoteViewsService和RemoteViewsFactory
导读 本篇文章将介绍"集合视图",App Widget 复杂布局的实现 App Widget 小部件系列其他文章链接 App Widgets 详解一 简单使用 App Widget ...
- FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社
大家好,我的第一本书正式出版了,可以在京东各大店铺抢购哦. <FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社> 京东自营链接:https://item.jd.com/13 ...
- ArrayList 扩容详解,扩容原理
ArrayList 扩容详解,扩容原理 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长. ArrayList不是线程安全的,只能用在单线程环境下. 实现了Serializable ...
- springboot 详解 (四)redis filter
---------------------------------------------------------------------------------------------------- ...
最新文章
- sql server 2008手工修改表结构,表不能保存的问题与解决
- iOS 10、Xcode 8 遇到部分问题解决记录(包括控制台日志不输出)
- 【免费软件测试视频-0016】——LR系列之---协议的选择
- js导入导出总结与实践
- 6.4 JAVA 方法重载
- jmeter html 乱码,jmeter压测学习14-jmeter返回内容中文乱码问题
- python脚本文件删除
- 走进AngularJs(七) 过滤器(filter) - 吕大豹
- Spring Boot入门篇-@RequestParam/@RequestBody配置
- 73本免费的、语言无关的优秀的编程书籍
- pdf factory pro7序列号教你如何打印转换PDF教程
- word转html在前端页面显示
- 全国计算机二级等级考试评卷,全国计算机等级c语言考试评卷老师是如何阅卷的...
- 管理感悟:一种招聘考试的想法
- centos配置虚拟主机(站点)
- JPEG2000图象压缩标准及其关键算法(转)
- 使用idea搭建maven+ssm项目
- Shell编程之免交互
- 算法解析:非线性最小二乘问题
- CSS基础之媒体类型(@media)样式
热门文章
- 如何在Scala中使用条件表达式
- 如何快速地真正的融入IT行业
- 自定义“TB_定位访问”子类
- Python机器学习基础教程(一):简介
- Sigmod/Softmax变换
- relu函数_激活函数解析:Sigmoid, tanh, Softmax, ReLU, Leaky ReLU
- 外星人电脑为什么那么贵_为什么系统门窗那么贵?
- Error opening Velodyne socket dump file 的一种可能解决方法
- java读取外部配置文件_SpringBoot读取外部配置文件的方法
- 人工智能python3+tensorflow人脸识别_Tensorflow+opencv2实现人脸识别