1. 安装nginx: 
  2.  
  3. a.下载安装libunwind: 
  4.     wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99.tar.gz 
  5.     tar zxvf libunwind-0.99.tar.gz 
  6.     cd libunwind-0.99/ 
  7.     CFLAGS=-fPIC ./configure --prefix=/usr/local/libunwind 
  8.     make CFLAGS=-fPIC 
  9.     make CFLAGS=-fPIC install 
  10.     配置环境变量: 
  11.     vim /etc/ld.so.conf 
  12.     最后一行加入 
  13.     /usr/local/libunwind/lib/ 
  14.     生效: 
  15.     ldconfig 
  16.  
  17. b.下载并安装google-perftools 
  18.     wget http://google-perftools.googlecode.com/files/google-perftools-1.7.tar.gz 
  19.     tar -xzvf google-perftools-1.7.tar.gz 
  20.     cd google-perftools-1.7 
  21.     ./configure --prefix=/usr/local/perftools --enable-frame-pointers 
  22.     make && make install 
  23.     配置环境变量: 
  24.     vim /etc/ld.so.conf 
  25.     最后一行加入 
  26.     /usr/local/perftools/lib/ 
  27.     生效: 
  28.     ldconfig 
  29.      
  30.     由于将google-perftools自定义安装到了 /usr/local/perftools目录 
  31.     所以执行如下命令: 
  32.     cp -r /usr/local/perftools/lib/* /usr/local/lib 
  33.      
  34.     google-perftools添加线程目录: 
  35.     mkdir /tmp/tcmalloc 
  36.     chmod 0777 /tmp/tcmalloc 
  37.  
  38. c.下载安装ngx_cache_purge: 
  39.     tar -zxvf ngx_cache_purge-1.6.tar.gz 
  40.     mv ngx_cache_purge-1.6 ngx_cache_purge 
  41.     mv ngx_cache_purge /usr/local
  42.  
  43. d.下载安装pcre: 
  44.     tar -zxvf pcre-8.31.tar.gz 
  45.     cd pcre-8.31 
  46.     ./configure --prefix=/usr/local/pcre 
  47.     make && make install 
  48.     配置环境变量: 
  49.     vim /etc/ld.so.conf 
  50.     最后一行加入 
  51.     /usr/local/pcre/lib/ 
  52.     生效: 
  53.     ldconfig 
  54.  
  55. e.下载安装nginx: 
  56.     tar -zxvf nginx-1.2.4.tar.gz 
  57.     cd nginx-1.2.4 
  58.     执行mkdir_src.sh 
  59.     上传项目源码到相应的目录 
  60.     上传nginx_module到/usr/local/下面 
  61.     /usr/local/nginx_module(nginx_module开发模块)    
  62.  
  63.     ./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx_module --with-http_stub_status_module   --with-google_perftools_module  --with-pcre=/usr/local/pcre 
  64.     cd objs/ 
  65.     rz -y (上传Makefile) 
  66.     cd ../ 
  67.     /usr/local/nginx_upgrade/mkdir_obj.sh 
  68.     make && make install 

到这里安装google-perftools完成了但未生效,接下来需要使google-perftools生效:

 

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

/sbin/ldconfig

 

注意,这里的双引号是英文的。

(export LD_PRELOAD=/usr/local/lib/libtcmalloc.so)

接下来为google-perftools添加线程目录:

 

mkdir /tmp/tcmalloc

chmod 0777 /tmp/tcmalloc

 

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

在pid这行的下面添加

#pid        logs/nginx.pid;

google_perftools_profiles /tmp/tcmalloc;

 

重新启动nginx:

service nginx restart

 

验证是否正在运行:

 

[root@localhost ~]# lsof -n | grep tcmalloc

nginx     13101    www   45w      REG                8,1          0    4014748 /tmp/tcmalloc.13101

nginx     13102    www  47w      REG                8,1          0    4014742 /tmp/tcmalloc.13102

nginx     13103    www   49w      REG                8,1          0    4014746 /tmp/tcmalloc.13103

nginx     13105    www   51w      REG                8,1          0    4014745 /tmp/tcmalloc.13105

nginx     13106    www   53w      REG                8,1          0    4014743 /tmp/tcmalloc.13106

nginx     13107    www   55w      REG                8,1          0    4014749 /tmp/tcmalloc.13107