LNMP WEB架构构建
LNMP WEB架构处理请求过程
1.Nginx为一款高性能Web服务器,本身是不能处理PHP的,当接收到客户端浏览器发送HTTP Request请求时,Nginx服务器响应并处理web请求,静态资源CSS、图片、视频、TXT等静态文件请求,Nginx服务器可以直接处理并回应。
2.Nginx并不能直接处理PHP页面,PHP动态页面请求Nginx不能直接处理,Nginx服务器会将PHP网页脚本通过接口传输协议(网关协议)PHP-FCGI(Fast-CGI)传输给PHP-FPM(PHP进程管理程序)
3.PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器进程解析PHP脚本信息,处理PHP页面。PHP解析器进程可以启动多个,可以实现多进行并发执行。
4.PHP解释器将解析后的脚本返回到PHP-FPM,PHP-FPM再通过Fast-CGI的形式将脚本信息传送给Nginx,Nginx服务器再 通过Http Response的形式传送给浏览器,浏览器再进行解析与渲染然后进行呈现。
CGI、FAST-CGI、PHP-CGI、PHP-FPM概念总结:
- CGI:Common gateway interface 通用网关接口;
- FastCGI:Fast common gateway interface 快速通用网关接口;
- PHP-FPM:PHP-Fast CGI Process Manager CGI,是FastCGII协议的实现并且带进程管理器;
PHP-FPM是PHPCGI进程管理器,可以有效控制内存和进程、可以平滑重载PHP配置。 PHP-CGI(PHP解析器进程)是解析PHP代码的程序,属于PHP程序解释器,只负责解析请求,不负责进程管理。
整合PHP和Nginx,配置文件并测试phpinfo();
1.修改/usr/local/nginx/conf/nginx.conf为以下内容[root@www /]# cat /usr/local/nginx/conf/nginx.conf|grep -E -v "#|^$"worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
server {
listen ;
server_name localhost;
error_page /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /var/www/html; #指定网站根目录
fastcgi_pass 127.0.0.1:9000; #指定fastcgi转发端口.Nginx通过此端口与php进行交互
fastcgi_index index.php; #指定默认索引页(首页)
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
#脚本文件请求的路径,这个配置的意思是在浏览器中访问的.php文件,实际读取的是 $document_root(网站根目录:/var/www/html)下的.php文件
#也就是说当访问127.0.0.1/index.php的时候,需要读取网站根目录下面的index.php文件,如果没有配置这一配置项时,nginx不会去网站根目录下访问.php文件,所以返回空白
include fastcgi_params; #调用fastcgi 的变量文件。可以nginx中配置文件里面看到(/usr/local/nginx/conf/),支持上一条参数
}
}
}
2.保存后重新载入nginx.conf
[root@localhost /]# /usr/local/nginx/sbin/./nginx -s reload
3.在/var/www/html目录下写入index.php
[root@localhost /]# echo "<?php phpindo(); ?>" > /var/www/html/index.php
4.通过浏览器访问ip/index.php
LNMP WEB架构构建的更多相关文章
- 四十二、LAMP与LNMP web架构深度优化实战-第一部
1.nginx.conf配置文件基本参数优化 1.1 隐藏nginx header内版本号信息 一些特定的系统及服务漏洞一般都和特定的软件版本号有关,我们应尽量隐藏服务器的敏感信息(软件名称及版本等信 ...
- 四十三、LAMP与LNMP web架构深度优化实战-第二部
1. 配置nginx gzip压缩功能 服务器对发出的内容进行压缩,带宽少了,体验好,速度快,但是服务端压,会使cpu使用高,压缩比高的进行压缩:文本.程序文件.数据文件.图片视频不要压缩,一般 ...
- 可扩展Web架构与分布式系统(转)
1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,分布于多 ...
- Web 架构师的能力(转)
文/刘如鸿 最近和几个朋友在谈到时下流行的Web 2.0,也提到了其中最重要的角色——架构师.多方各有争执,不外乎是因为背景和视角的缘故,包括架构一词,本身就从建筑学借鉴而来,至于架构师,则可以 简单 ...
- 可扩展Web架构与分布式系统
原文:可扩展Web架构与分布式系统 开放源代码已经成为一些大型网站的基本原则.而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中.本文旨在介绍一些在大型网站结构设计的过程中需要注意 ...
- ASP.NET WEB API构建基于REST风格
使用ASP.NET WEB API构建基于REST风格的服务实战系列教程[开篇] 最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http ...
- LNMP + Apache 架构配置
从事前端开发已3年有余,越来越发现前端开发要学习的知识已不仅仅是html+css+js那么简单了,2017年市场上就有了大前端的概念,可以说对前端工程师的要求也越来越高了,从招聘的要求中可以看到熟悉一 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- 撩课-Web架构师养成系列(第二篇)-async
前言 Web架构师养成系列共15篇,每周更新一篇,主要分享.探讨目前大前端领域(前端.后端.移动端)企业中正在用的各种成熟的.新的技术.部分文章也会分析一些框架的底层实现,让我们做到知其然知其所以然. ...
随机推荐
- 数据源Source 目标Target
数据源Source-目标Target 数据源实现INotifyPropertyChanged接口,实现“通知”目标实现依赖属性 举例 后台的数据源,实现INotifyPropertyChanged接口 ...
- win32Helper
点击别的winform窗口的按钮 #region 点击别的窗口的按钮 [DllImport("user32.dll", EntryPoint = "FindWindowA ...
- delphi资源文件的使用
delphi资源文件的使用 资源文件(*.res)通过编译指令 $R 关联, 譬如工程文件 Project1 中的 {$R *.res} 就是关联 Project1.res 资源文件, 我们直接写作 ...
- Android 调试桥(adb)是多种用途的工具
Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...
- ASP如何实现注册后发送激活邮件?
<% Sub Sendemail(title,content,email) Set jmail = Server.CreateObject("JMAIL.Message") ...
- ORA-23421: job number 225 is not a job in the job queue
在对数据库进行异机恢复之后,为了防止上面作业自动执行,扰乱正常业务系统,需要将测试库上的作业和db_link进行删除:但是使用sys用户连接进去,删除的时候报如下错误SQL> exec DBMS ...
- 开源libco库:单机千万连接、支撑微信8亿用户的后台框架基石
微信于2013年开源的ibco库,是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上.libco在2013年的时候作为腾讯六大开源项目首次开源,ibco支持后台敏捷 ...
- 使用MinGW编译Boost,MSVC编译Boost的几种链接方式 good
1.下载Boost(http://www.boost.org) 我目前用的是1.61.0版本 2.将MinGW下的bin目录完整路径设置到系统环境变量Path中,保证cmd命令行能找到gcc,g++等 ...
- 纯CSS3创意loading文字特效
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- window下搭建qt开发环境编译、引用ace
工作中经常用到ace.tao等,在windwo下的c++开发工具基本上就是vs20xx这些工具,还有些就是类似编辑工具例如:source insight等,前者比较大,打开.编译运行比较慢,二期针对a ...