首页 > 代码库 > day13-LNMP、FASTCGI

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!!!";

}

?>

?

day13-LNMP、FASTCGI