文章目录

  • 前言
  • 一. LNMP的介绍
  • 二. 什么是Fast-CGI
  • 三. 部署实战
    • 1. 安装php和mysql
    • 2. nginx和php的结合
      • a. 编译nginx
      • b. 配置nginx与php的结合
      • c. 重启nginx让配置生效
    • d. 配置index.php测试
    • 总结

前言

之前我们学习了架构LAMP的搭建,编译和yum的方式都有学习过,今天我们来探讨下LNMP的部署,只是把apache换成了nginx,所以还算比较简单

一. LNMP的介绍

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

  • Linux: 我们一般用的比较多的是redhat,centos, ubuntu
  • Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
  • Mysql是一个小型关系型数据库管理系统。
  • ​ PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
    这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

二. 什么是Fast-CGI

Fast-CGI是一个可伸缩的、高速的在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持Fast-CGI,包括Apache、Nginx和lighttpd等。同时,Fast-CGI也被许多脚本语言支持,其中就有PHP。

Fast-CGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后将结果返回给HTTP服务器。这在处理高并发访问时几乎是不可用的。另外传统的CGI接口方式安全性也很差,现在已经很少使用了
  
  FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给Fast-CGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。

三. 部署实战

1. 安装php和mysql

[root@gaosh-1 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@gaosh-1 ~]#
[root@gaosh-1 ~]# yum install mysql mysql-server php php-mysql php-fpm

2. nginx和php的结合

a. 编译nginx

关于编译的内容,在之前的文章里有写过,详细的内容可以参考:
【Linux】循序渐进学运维-服务篇-nginx入门

yum -y install gcc gcc-c++ pcre-devel openssl-devel wget
[root@gaosh-1 ~]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[root@gaosh-1 ~]# tar xf nginx-1.12.2.tar.gz
[root@gaosh-1 ~]# cd nginx-1.12.2
[root@gaosh-1 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx
[root@gaosh-1 nginx-1.12.2]# make && make install
[root@gaosh-1 nginx-1.12.2]# ln -sv /usr/local/nginx/sbin/nginx /usr/bin/nginx
"/usr/bin/nginx" -> "/usr/local/nginx/sbin/nginx"
[root@gaosh-1 nginx-1.12.2]# nginx
b. 配置nginx与php的结合

上图图片的内容文字版:

server {listen       80;server_name  localhost;location / {root   /www/zmgaosh;index index.php  index.html index.htm;}location ~ \.php$ {root          /www/zmgaosh;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include       fastcgi_params;}
c. 重启nginx让配置生效

[root@gaosh-1 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@gaosh-1 ~]# nginx

[root@gaosh-1 ~]# /etc/init.d/php-fpm start #启动php-fpm
正在启动 php-fpm: [确定]
[root@gaosh-1 ~]#

d. 配置index.php测试

[root@gaosh-1 ~]# mkdir -p  /www/zmgaosh
[root@gaosh-1 ~]# vim /www/zmgaosh/index.php
[root@gaosh-1 ~]# cat !$
cat /www/zmgaosh/index.php
<?php
phpinfo();
?>

总结

以上就是LNMP架构部署的所有内容,其实相对于apache来讲更容易一些。

【Linux】循序渐进学运维-服务篇-LNMP环境部署相关推荐

  1. 【Linux】循序渐进学运维-服务篇-实验环境准备

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第2篇文章 文章目录 前言 实验环境搭建过程 1. 清空防火墙 2. 关闭selinux 1)临时关闭selinux 2) 永久关闭s ...

  2. 【Linux】循序渐进学运维-服务篇-rysnc+inotify实战

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第12篇文章 文章目录 前言 实验环境 1. 配置ssh免秘钥登陆,且配置时间同步 2 . 设置rsync的配置文件,确保两台服务 ...

  3. 【Linux】循序渐进学运维-服务篇-inotify部署及应用

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第11篇文章 文章目录 前言 inotify 出现的原因 什么是inotify? 实验环境 1. 内核: 2. 查看当前系统是否支持安 ...

  4. 【Linux】循序渐进学运维-服务篇-rsync实战

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第10篇文章 文章目录 前言 实验环境 实验步骤 1. 修改配置文件 2. 创建提示文件及用户密码 1) 编辑欢迎信息 2) 创建密码 ...

  5. 【Linux】循序渐进学运维-服务篇-ssh配置文件详解

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第4篇文章 文章目录 前言 配置文件的路径 配置文件详解 1. 修改默认端口 2. ListenAddress 0.0.0.0 3. ...

  6. 【Linux】循序渐进学运维-服务篇-telnet

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第1篇文章 文章目录 一. telnet的定义 二. telnet远程登录服务的过程 1. 建立连接 2.输入口令 3. 认证并返回结 ...

  7. 【Linux】循序渐进学运维-服务篇-SCP命令

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第6篇文章 文章目录 前言 scp命令的使用 1. 什么是scp? 2. scp的格式 3. 复制本地文件到远程服务器 4. 拉取远程 ...

  8. 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...

  9. 【Linux】循序渐进学运维-服务篇-FTP的原理及使用

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第13篇文章 文章目录 一. FTP服务的概述 1. ftp的相关概念 2. 常见的FTP服务器 3. VSFTP基本信息 二. FT ...

最新文章

  1. Oracle备份与恢复案例(四)
  2. 第十六届全国大学生智能车竞赛全国总决赛报名信息汇总
  3. UPC2710T放大电路功率增益测试
  4. MYSQL学习01--MySQL基础知识
  5. python爬虫豆瓣250_python爬虫二 爬取豆瓣Top250上
  6. 回答知乎问题:你写过什么自认为惊艳的诗?
  7. JAVA中的适配器应用_Java适配器模式应用之电源适配器功能详解
  8. c++ udp多线程 例子_[内附完整源码和文档] 基于udp实现tcp功能进行大文件传输
  9. spring boot 1.5.4 整合redis、拦截器、过滤器、监听器、静态资源配置(十六)
  10. basler 相机使用出现的问题
  11. [转载] JAVA中分为基本数据类型及引用数据类型
  12. 什么影响matlab损失值,matlab – 在计算Logistic损失函数的值和梯度时避免数值溢出...
  13. 计算机多媒体技术的主要特征是什么,计算机多媒体技术主要特征
  14. PRINCE2 项目管理方法论框架介绍
  15. genetic heterogeneity 遗传异质性
  16. bmi计算器HTML,BMI计算器(示例代码)
  17. Cisco Packet Tracer 思科中交换机端口安全配置与风暴控制
  18. (HttpClient技术)(58同城系列)58同城发帖
  19. 中国基于国产龙芯处理器的大数据一体机
  20. 苹果悬浮球_买了一万块钱的苹果手机,悬浮球功能不会用?真的可惜了

热门文章

  1. 2012迅雷校园招聘笔试题——厦门大学站
  2. 几乎没有人知道的ArcGIS实用包工具!——包工具之GPK
  3. 短视频内容审核标准细则:不得未经授权自行剪切电影、电视剧
  4. 基于SpringCloud+redis+Springsecurity实现的微信小程序外卖系统
  5. 派克Parker高动态性能低惯性量无刷伺服电机SMB/SMH
  6. JAX-RS和spring整合
  7. 基于java的医院门诊查询系统代码
  8. CentOS 7 minimal安装与使用(cpp-py) opencv静态编译
  9. 超级实用电气速算口诀集(下)
  10. 黑苹果进不了系统自动重启_苹果手机频繁自动重启