首页 > 代码库 > 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
?
- 安装nginx
- 安装mysql
- yum –y install cmake
- useradd –s /sbin/nologin mysql
- 读软件包中的安装文档INSTALL-SOURCE
- 安装PHP
- 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、程序须运行在网络服务器上
?
工作流程
- Web Sever启动时载入FastCGI进程管理器
- FastCGI进程管理器初始化,启动多个CGI解释器进程
- 当客户端请求到达WEB Server时
FastCGI进程管理器选择并连接到一个CGI解释器
- 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