LNMP (nginx+php-fpm)

Nginx简明:

特性:

采用模块化设计,较好的扩展性;
高可靠性  master/worker
支持热部署:不停机更新配置文件、更换日志文件、列新服务器版本
低内存消耗:10000个keep-alive连接模式下的非活动连接仅消耗2.5M内存;
event-dreiven,aio,mmap
基本功能;
静态资源的web服务器
http协议反向代理服务器;
pop3/imap4协议反向代理服务器;
FastCgi,uWSCGI等协议;
模块化(非DSO),有zip,ssl,…;

 

web服务器相关的功能;

虚拟主机、keepalive、访问日志、url rewrite 、路径别名、基于ip及用户的访问控制;
支持速率限制及并发数限制,…;
Nginx的程序架构:
master/worker
一个master进程,可生成一个或多个worker进程;
master;加载配置文件、管理worker进程、平滑升级、…
worker:http服务、http代理、fstcgi代理 …
缓存对象的相关数据
cache loader 载入缓存对象
cache manager 管理缓存对象
模块类型
核心模块;core module
标准模块: Standard HTTP modules Optional HTTP moduels Mail modules 3rd party modules ;
nginx一般用于静态资源的web服务器 http协议反向代理
nginx高度模块:高度模块化,但其模块早期不支持DSO机制; 近期版本支持动态装载和动态卸载
nginx的功用;
静态的web资源服务器; (图片服务器,或js/css/html/txt等静态的资源服务器)
结合FastCGI/uwCGI/SCGI等协议反代动态资源请求
http/https协议的反向代理 ;
imap4/pop3协议的么向代理 ;
tcp/udp协议的请求转发;

LNMP环境的搭建 (nginx+php-fpm):基于fastcgi

CGI全称为公共网关接口(Common Gateway Interface)
php-fpm 工作方式:(类似于httpd的prefork)
listen=127.0.0.1:9000
listen.allowed_clients=127.0.0.1
pm=dynamic |static
pm.start_servers:启动fpm进程时启动的工作进程数量;
pm.min_spare_server:最少空闲进程数;
pm.max_children:最大工作进程数;
user=USERNAME
group=GROUPNAME

 

fastcgi模块指令;
fastcgi_pass address;
address是fpm服务器监听的地址和端口;
示例:fastcgi 127.0.0.1:9000;
fastcgi_index name; fastcgi应用的主面名称;
fastcgi_param parameter avlue [if_not_empty];
传递给fpm服务器的参数及其值
path:文件系统路径,用于存储缓存的文件数据 ;
max_size=size:定义此路径下的多大空间用于存储缓存数据 ;
levels=#[:#[:#]]:缓存目录层级定义;
levels=1:2
key_zone=name:size
内存中用于缓存k/v映射关系的空间名称及大小;
inactive=time
注意:只能定义在httpd上下文;
fastcgi_cache zone | off;
是否启用cache,如果启用;
fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fcgicache:10m;
在location中调用;
fastcgi_cache fcgicache;
fastcgi_cache_key string;
定义要使用的缓存键;
例如:fastcgi_cache_key $request_uri;
fastcgi_cache_methods GET | HEAD |POST…;
缓存哪些类型的请求的相关数据;
fastcgi_cache_min_users number;
fastcgi_cache_valid [code…] time;
对不同响应码设定其可缓存时长;
注意:调用缓存时,至少应该指定三个参数;
fastcgi_cache
fastcgi_cache_key
fastcgi_cache_valid

配置拓扑

LNMP (nginx+php-fpm)

安装:

# yum -y install php-fpm php-mysql php-mbstring php-gd php-xml nginx mariadb  
# rpm -ql php-fpm 可以查看其生成的文件 
# systemctl start php-fpm mariadb nginx 
# vim /etc/nginx/conf.d/defult.conf 
修改 
location / {
root   /usr/share/nginx/html;
index  index.html index.htm index.php;
}

添加

   location ~ \.php$ {
root           /usr/share/nginx/html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;
include        fastcgi_params;
}

 

# vim /usr/share/nginx/html/index.php 
<h1>www.rj.com NODE2</h1>
<?php
$link=mysql_connect("localhost","root","centos.123");
if(!$link)echo"CNONNECT FILED!";
else echo "CAN CNONNECT !";
?>

访问http://172.16.23.10/index.php后可以看到CAN CNONNECT字样时,表示php可以正常解析,并能够连接到mysql

原创文章,作者:nene,如若转载,请注明出处:http://www.178linux.com/88103

(1)
nenenene
上一篇 2017-06-28
下一篇 2017-06-28

相关推荐

  • N25_第一周作业_leon

    第一周博客作业 1.       描述计算机的组成及其功能 计算机主要有五大部分组成:控制器;运算器;存储器;输入设备;输出设备。   功能: 控制器:计算机的指挥系统。控制器通过地址访问存储器,从存储器中取出指令,经译码器分析后,根据指令分析结果产生相应的操作控制信号作用于其他部件,使得…

    Linux干货 2016-12-01
  • Shell编程之位置变量

           linux中命令可以接受参数,同样的,shell脚本也可以接受参数。这些参数用$1、$2、$3…$n表示。       $0  表示脚本本身       $1  传递给脚本的第1个参数 $2  传…

    Linux干货 2016-08-12
  • Python第一周小结

    经历了两个星期Linux运维基础的铺垫,这周我们正式开始了python的学习。经过第一周的各种挣扎以及反复训练,终于有所收获了一点东西。现在将第一周中学到的一个非常重要的算法技巧总结如下: 即:折半思想 例:给定一个不超过五位数的正整数,判断该数有几位数 Code1:                                              …

    Linux干货 2018-03-26
  • N25-第6周

    vim:    模式化的编辑器        基本模式:            编辑模式,命令模式,            输入模式       &n…

    Linux干货 2017-02-13
  • yum仓库配置

    yum仓库搭建 yum客户端在安装之前要在服务器下载相关的源数据缓存在 cachedir=/var/cache/yum/$basearch/$releasever中 gpgcheck=1检查数据包的签名完整性 导入钥匙或gpgcheck=0就不检查否侧安装不了yum 在/etc/yum.conf设置配置文件 在/etc/yum.repos.d中创建一个后缀是…

    2017-12-03
  • N25-第二周作业

    1、  Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示。 常用的管理类命令有:rm、mv、cp 1)         rm:remove rm [ OPTION ] FILE 常用选项:     &nbsp…

    Linux干货 2016-12-13