今天继续给大家介绍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原理与简单部署相关推荐

  1. 【转详解步进电机工作原理】

    详解步进电机工作原理[转自知乎gk-auto] 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响, ...

  2. 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程

    @TOC初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程 [1]什么是windows API Windows API 中文翻译过来就是windows应用程序接口(Applica ...

  3. 详解帧中继工作原理及作用

    详解帧中继工作原理及作用 帧中继特点 帧中继工作原理 帧中继的作用 帧中继习题 帧中继(FrameRelay)是一种用于连接计算机系统的面向分组的通信方法.它主要用在公共或专用网上的局域网互联以及广域 ...

  4. linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  5. Android Studio 插件开发详解四:填坑

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  6. mybatis 鉴别其_MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询

    MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询 白玉 IT哈哈 支持的 JDBC 类型 为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 ...

  7. App Widgets 详解四 RemoteViews、RemoteViewsService和RemoteViewsFactory

    导读 本篇文章将介绍"集合视图",App Widget 复杂布局的实现 App Widget 小部件系列其他文章链接 App Widgets 详解一 简单使用 App Widget ...

  8. FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社

    大家好,我的第一本书正式出版了,可以在京东各大店铺抢购哦. <FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社> 京东自营链接:https://item.jd.com/13 ...

  9. ArrayList 扩容详解,扩容原理

    ArrayList 扩容详解,扩容原理 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长. ArrayList不是线程安全的,只能用在单线程环境下. 实现了Serializable ...

  10. springboot 详解 (四)redis filter

    ---------------------------------------------------------------------------------------------------- ...

最新文章

  1. sql server 2008手工修改表结构,表不能保存的问题与解决
  2. iOS 10、Xcode 8 遇到部分问题解决记录(包括控制台日志不输出)
  3. 【免费软件测试视频-0016】——LR系列之---协议的选择
  4. js导入导出总结与实践
  5. 6.4 JAVA 方法重载
  6. jmeter html 乱码,jmeter压测学习14-jmeter返回内容中文乱码问题
  7. python脚本文件删除
  8. 走进AngularJs(七) 过滤器(filter) - 吕大豹
  9. Spring Boot入门篇-@RequestParam/@RequestBody配置
  10. 73本免费的、语言无关的优秀的编程书籍
  11. pdf factory pro7序列号教你如何打印转换PDF教程
  12. word转html在前端页面显示
  13. 全国计算机二级等级考试评卷,全国计算机等级c语言考试评卷老师是如何阅卷的...
  14. 管理感悟:一种招聘考试的想法
  15. centos配置虚拟主机(站点)
  16. JPEG2000图象压缩标准及其关键算法(转)
  17. 使用idea搭建maven+ssm项目
  18. Shell编程之免交互
  19. 算法解析:非线性最小二乘问题
  20. CSS基础之媒体类型(@media)样式

热门文章

  1. 如何在Scala中使用条件表达式
  2. 如何快速地真正的融入IT行业
  3. 自定义“TB_定位访问”子类
  4. Python机器学习基础教程(一):简介
  5. Sigmod/Softmax变换
  6. relu函数_激活函数解析:Sigmoid, tanh, Softmax, ReLU, Leaky ReLU
  7. 外星人电脑为什么那么贵_为什么系统门窗那么贵?
  8. Error opening Velodyne socket dump file 的一种可能解决方法
  9. java读取外部配置文件_SpringBoot读取外部配置文件的方法
  10. 人工智能python3+tensorflow人脸识别_Tensorflow+opencv2实现人脸识别