day13-LNMP、FASTCGI

LNMP(Linux,nginx,mysql,php)

yum -y groupinstall "Development libraries" "Development tools" "X Software Development"

yum –y install gcc openssl-devel pcre-devel zlib-devel

?

  1. 安装nginx
  2. 安装mysql

    1. yum –y install cmake
    2. useradd –s /sbin/nologin mysql
    3. 读软件包中的安装文档INSTALL-SOURCE
  3. 安装PHP

    1. mhash(哈希函数)、libiconv(编码转换)、libmcrypt(加密库)

    ?

WINDOWS中所有的动态链接库DLL文件 c:\windows\system32\*.dll

linux的库文件(so文件),一般会存放在/lib/,/usr/lib/

ln –sv /usr/local/lib/libmcrypt* /usr/lib/????????软链接

ln –sv /usr/local/lib/libmhash.* /usr/lib/

方法一

默认我们安装的mhash,libmcrypt,libiconv,生成的库文件存放在/usr/local/lib,因此为了让系统识别这些库,可以将/usr/local/lib/相关的库文件,做链接放到系统库目录下。

?

方法二

vim /etc/ld.so.conf

将安装库的文件路径写入该配置文件里

输入完后使用ldconfig????刷新

?

提示:安装mysql时如果提示not find curses则需要yum list |grep curses

#yum –y install ncurses-devel

当第二次再cmake时,需要删除之前的缓:rm CMakeCache.txt

?

安装PHP

?

nginx+fastcgi

CGI——公共网关接口Common Gateway Interface

1、HTTP服务器与客户端上的程序进行"交谈"的一种工具

2、CGI可以用任何一种编写,只要这种语言具有标准输入、输出和环境变量,如php,perl等

3、程序须运行在网络服务器上

?

工作流程

  1. Web Sever启动时载入FastCGI进程管理器
  2. FastCGI进程管理器初始化,启动多个CGI解释器进程
  3. 当客户端请求到达WEB Server时

    FastCGI进程管理器选择并连接到一个CGI解释器

  4. FasstCGI子进程完成处理后返回结果

    将标准输出和错误信息从同一连接返回WEB SERVER

?

FastCGI缺点

内存消耗大

因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字以50或100就是很大的内存数。

????nginx+PHP(FastCGI)服务器在3万并发连接下

????开启的10个nginx进程消耗150M内存(10*15M)

????开启的64个php-cgi进程消耗1280内存(20M*64=1280M)

?

vim /usr/local/php5/etc/php-fpm.conf

listen=127.0.0.1:9000

pm=dynamic

pm.max_children=32???? 进程上限

pm.start_servers=15????初始化开几个进程

pm.min_spare_servers=5????最小空闲进程

pm.max_spare_servers=32????最好大空闲进程

?

cp /php安装包/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

server php-fpm start

?

修改nginx(调用FastCGI、php-fpm)

?

可以用php页面测试下

<?php

phpinfo();

?>

测试数据库

<?php

$links=mysql_connect("localhost","root","");

if($link){

echo "link datebase ok!!!";

}

else{

echo "link database no!!!";

}

?>

?

时间: 2024-10-07 07:15:33

day13-LNMP、FASTCGI的相关文章

nginx、fastCGI、php-fpm关系梳理

前言: Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx才可以解析php脚本.那么,这样配置的背后原理是什么?nginx.fastCGI.php-fpm之间又有什么关系呢?博主一直有这样的疑惑,由于无法理清nginx.php-fpm之间的关系,遇到nginx解析不了php脚本的时候,往往不知所措,花费的问题排查时间也非常长.因此,特地抽时间了解这背后的原

CGI、FastCGI和PHP-FPM关系图解

CGI.FastCGI和PHP-FPM关系图解 ? webapp即是php解析器等 当Web Server收到 index.php 这个请求后,会启动对应的 CGI 程序,这里就是PHP的解析器.接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器.这就是一个完整的动态PHP Web访问流程,接下来再引出这些概念,就好理解多了, CGI:是 Web Server 与 Web Appl

lnmp、lamp、lnmpa一键安装包(Updated: 2016-4-12)

lnmp.lamp.lnmpa一键安装包(Updated: 2016-4-12) 文章目录 脚本特性 安装步骤 如何添加虚拟主机? 如何删除虚拟主机? 如何管理ftp账号? 数据备份 如何管理服务? 如何更新版本? 如何卸载? 如何重装? 更新日志 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengine/OpenResty.MySQL/MariaDB/Percona.PHP),适用于CentOS 5~7(包括redhat).D

WSGI、flup、fastcgi、web.py的关系

WSGI.flup.fastcgi.web.py的关系 Apache/lighttpd: 相当于一个request proxy,根据配置,把不同的请求转发给不同的server处理,例如静态的文件请求自己处理,这个时候它就像一个web server,对于fastcgi/python这样的请求转发给flup这样的Server/Gateway进行处理 flup: 一个用python写的web server,也就是cgi中所谓的Server/Gateway,它负责接受apache/lighttpd转发的

CentOS6.2下搭建LNMP、安装wordpress(大神请远离)

CentOS6.2下搭建LNMP.安装wordpress参考文章:http://www.linuxidc.com/Linux/2014-08/105128.htm 早就给自己安排好了要做的事情,但是每天被繁琐的事情所忙,把去年该做的事情一直拖到了现在.终于在今天,小心脏多跳了几下,手一抖,开始下手去做了,结果半天就这样过去了.时间过得真快啊,尤其是在自己有事情做地时候.        好了,开始记录了,权做写的日记了       先上图,看下成果:(后台管理部分) (貌似很卡顿的样子,是不是该优

网关协议学习:CGI、FastCGI、WSGI

CGI CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体.通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页.CGI 的

php的几种运行模式CLI、CGI、FastCGI、mod_php

1.CLI:就是命令行,可以在控制台或者是shell中执行. 如linux服务器中的crontab 执行php代码: /usr/local/php/bin/php /project/some/debug.php   此时php是用php-cli执行php脚本的.此模式执行php时,没有maximum execution time of 30 的限制 2.CGI:以下是不同的说法与理解 公共网关接口"(Common Gateway Interface),HTTP服务器 与你的或其它机器上的程序 进

关于CGI、FastCGI和PHP-FPM的关系

1.CGI是干嘛的? CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. web server(比如说nginx)只是内容的分发者.比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据.好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器.Nginx会传哪些数据给PHP解析器呢?

lnmp、lamp、lnmpa一键安装包(Updated: 2015-10-25)

lnmp.lamp.lnmpa一键安装包(Updated: 2015-10-25) 2014-12-26 Posted by yeho 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS 5~7(包括redhat).Debian 6-8.Ubuntu 12.04-15.04的32位和64位. 脚本特性  持续不断更新 源码编译安装,大多数源码是最新s

nginx、fastCGI、php-fpm关系梳理(转)

前言: Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx才可以解析php脚本.那么,这样配置的背后原理是什么?nginx.fastCGI.php-fpm之间又有什么关系呢?博主一直有这样的疑惑,由于无法理清nginx.php-fpm之间的关系,遇到nginx解析不了php脚本的时候,往往不知所措,花费的问题排查时间也非常长.因此,特地抽时间了解这背后的原