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 08:49
下一篇 2017-06-28 20:15

相关推荐

  • OSI参考模型与TCP/IP参考模型的比较

    OSI参考模型与TCP/IP参考模型的比较 OSI参考模型 OSI参考模型是ISO的建议,它是为了使各层上的协议国际标准化而发展起来的。OSI参考模型全称是开放系统互连参考模型(Open System Interconnection Reference Model)。这一参考模型共分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 物理层…

    Linux干货 2017-05-07
  • 高级文件系统管理

    为用户设定配额  执行开始或取消配额:quotaon quotaoff  取消编辑配额:edqouta username  在shell中直接编辑:setquota usename 80000 100000 0 0 /foo  定义原始标准用户 :edquota -p user1 user2 实例如下: 配额的实现 1…

    Linux干货 2017-05-02
  • 第二周作业

    一、文件管理类命令     1、cp:复制文件        单文件复制cp source dest,如果dest存在且dest不是目录,则覆盖目标文件。如果dest不存在,则自行创建dest文件;如果source是目录,则cp命令不会执行。如果source是链接文件,则复制的是链接文件指向的文件内…

    Linux干货 2016-12-11
  • 六.Linux博客-2016年8月2日用户、权限

    格式说明: 操作 概念 命令 说明及举例 六.用户、权限 创建用户、修改用户、删除用户 useradd 创建一个用户 useradd -r 创建系统用户,系统用户不创建家目录 useradd -D /etc/default/useradd 默认设置配置文件 newusers +文件 批量创…

    Linux干货 2016-08-24
  • HA cluster应用—CoroSync+Pacemaker

    HA cluster应用——CoroSync v2 (quorum system)+Pacemaker (standalone daemon)+ crmsh/pcsh corosync简述: Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程。可以说Corosync是OpenAIS工程的一部分。OpenAIS从openais…

    2016-11-27
  • 硬链接与软链接的简述

    我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但…

    Linux干货 2016-10-20