fastcgi php 集群 分离,nginx+fastcgi实现动静分离架构

a0a9ef95abe832d6976f0cab925c9eba.png

背景:

CGI:技术每产生一个请求就会生成一个应用程序的线程,请求完毕后,线程关闭,效率比较低。

FastCGI:技术常驻进程,保持不中断等待,效率比较高。

相对于nginx而言,apache是把应用程序进程放在webserver进程中一起加载,APACHE采用的是server API技术。

分布式web服务(动静分离模式优点:提高访问效率。)

静态程序:html,图片,js等

动态程序:FastCGI(php,perl等)

A机器:192.168.8.99

pcre-8.30.tar.gz   (支持正则表达式 区分php等fastcgi程序还是html等静态程序)tar xzvf nginx-1.2.0.tar.gz

tar xzvf pcre-8.30.tar.gz

cd pcre-8.30

./configure --prefix=/usr/local/prce

make

make install

mysql线程优化---TCmalloc 线程缓存的Malloc

tar zxvf google-perftools-0.97.tar.gz cd google-perftools-0.97/ ./configure make

make install

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf

/sbin/ldconfig

vim /usr/local/mysql/bin/mysqld_safe

e03b4c32a68c1335c3a71a9341b002d4.png

重启mysql服务并查看服务进程

42e6895bcde5de5eae19e3d8bf441f9c.png

64位操作系统先安装libunwind库,libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。

wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz

tar zxvf libunwind-0.99-alpha.tar.gz

cd libunwind-0.99-alpha/

CFLAGS=-fPIC ./configure

make CFLAGS=-fPIC

make CFLAGS=-fPIC install

groupadd www                          #可省略

useradd –g www www –s /sbin/nologin   #可省略

默认用户nobody (建议使用)很多资料里都是新建一个www用户,其实可以不用增加新用户。

tar xzvf nginx-1.2.0.tar.gz

cd  nginx-1.2.0

./configure --prefix=/usr/local/nginx --user=www--group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-google_perftools_module --with-ld-opt='-ltcmalloc_minimal'

make

make intall

刷新浏览器同时查看nginx访问日志的变化

tail –F access.log

B机器: 192.168.8.100

tar xzvf php-5.2.6.tar.gz

gzip -cd php-5.2.6-fpm-0.5.9.diff.gz | patch -d php-5.2.6 -p1 (作用:对php的一个补丁包方便管理Fastcgi程序也就是这里的php程序)

cd php-5.2.6

./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm

make

make install

cp php.ini-dist /usr/local/php/lib/php.ini

php-cgi –c php.ini –c参数指定php.ini的位置

cd /usr/local/php/etc

编辑文件php-fpm.conf,修改如下内容vim /usr/local/php/etc/php-fpm.conf108f4dfebf916f2659ff0c28b45b47df.png

启动php-fpm服务/usr/local/php/sbin/php-fpm start

Starting php_fpm  done

修改/usr/local/nginx/conf/nginx.conf

vim /usr/local/nginx/conf/nginx.conf

ade87f5708ab0b9ddcb36f16446410d8.png

修改/usr/local/php/etc/php-fpm.conf 去掉注释

240d015078b3b2ba7fd6e30af549ff95.png

mkdir  /usr/local/php/www (目录自定义) 用php探针测试

cat index.php

phpinfo();

?>

注意:如果找不到目录中的php文件,修改文件/usr/local/nginx/conf/nginx.conf 中的内容

将/scripts$fastcgi_script_name修改成/usr/local/php/www$fastcgi_script_name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值