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

相关推荐

  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • httpd功能配置之https

       HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS使用443端口进行通信。    …

    Linux干货 2016-03-13
  • CentOS 6.5下编译安装httpd+mysql+php过程实录

    一、安装环境     Linux系统:CentOS 6.5     Apache版本:http-2.4.12     MySQL版本:MySQL 5.6.24     PHP版本:PHP-5.6.8 …

    Linux干货 2015-05-18
  • linux 磁盘管理

    磁盘管理 Linux思想一切皆文件: open(),read(),write(),close() I/O 设备地址 设备类型: 块设备:block,存取单位“块”,磁盘 (随机访问) 字符设备:char,存取单位“字符”,键盘 (逻辑访问) 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通讯。 设备编号: ll /dev/sda* root…

    Linux干货 2016-08-29
  • 利用heartbeat v2版搭建高可用mysql

    一、实验环境  1)实验图        2)同步时间;确保可以使用主机名通信;确保可以使用ssh秘钥方式进行彼此登录;由于是两台设备,需要仲裁;  确保可以使用主机名通信 web1修改hosts文件如下: 172.16.2.12 SQL1.linux.com SQL1 172.…

    Linux干货 2015-07-08
  • Android必备的Java知识点

     Android应用程序开发是以Java语言为基础的,所以需要有扎实的Java基础知识。首先熟悉java基本语法,然后熟悉设计模式等。         a) Java基础语法:看下面的《Java知识点列表》       b)设计模式:由于在Android系统的框架层当中,使用了大…

    Linux干货 2015-04-08