nginx+fastcgi实现动静分离架构

195755906.jpg
背景:
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等静态程序)
 
 
  1. tar xzvf nginx-1.2.0.tar.gz  

  2. tar xzvf pcre-8.30.tar.gz  

  3. cd pcre-8.30  

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

  5. make  

  6. make install 

mysql线程优化---TCmalloc 线程缓存的Malloc
 
 
  1. tar zxvf google-perftools-0.97.tar.gz cd google-perftools-0.97/ ./configure make  

  2. make install  

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

  4. /sbin/ldconfig  

  5. vim /usr/local/mysql/bin/mysqld_safe 

201628676.jpg
重启mysql服务并查看服务进程
201703933.jpg
64位操作系统先安装libunwind库,libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。
 
 
  1. wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz  

  2. tar zxvf libunwind-0.99-alpha.tar.gz  

  3. cd libunwind-0.99-alpha/  

  4. CFLAGS=-fPIC ./configure  

  5. make CFLAGS=-fPIC  

  6. make CFLAGS=-fPIC install  

  7. groupadd www                          #可省略  

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

默认用户nobody (建议使用)很多资料里都是新建一个www用户,其实可以不用增加新用户。
 
 
  1. tar xzvf nginx-1.2.0.tar.gz  

  2. cd  nginx-1.2.0  

  3. ./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'

  4. make  

  5. make intall 

刷新浏览器同时查看nginx访问日志的变化
 
 
  1. tail –F access.log 

B机器: 192.168.8.100
 
 
  1. tar xzvf php-5.2.6.tar.gz  

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

  3. cd php-5.2.6  

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

  5. make  

  6. make install  

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

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

  9. cd /usr/local/php/etc   

编辑文件php-fpm.conf,修改如下内容

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

202059495.jpg
启动php-fpm服务
 
 
  1. /usr/local/php/sbin/php-fpm start
      Starting php_fpm  done

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

202237418.jpg
修改 /usr/local/php/etc/php-fpm.conf 去掉注释
202305648.jpg
 
 
  1. mkdir  /usr/local/php/www (目录自定义) 用php探针测试  

  2. cat index.php  

  3. <?php

  4. phpinfo();  

  5. ?>

注意:如果找不到目录中的php文件, 修改文件/usr/local/nginx/conf/nginx.conf 中的内容
将/scripts$fastcgi_script_name修改成/usr/local/php/www$fastcgi_script_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值