centos 6.3 64bit 用tcmalloc优化nginx

简介:

 一,tcmalloc全称thread-caching malloc,是谷歌开发的开源工具。与标准的glibc库的malloc比。tcmalloc在内存分配效率和速度比malloc高。至于为什么比malloc,有兴趣可以参考。下面这个网址。

 
 
  1. http://www.mysqlops.com/2011/06/14/google-tcmalloc-malloc.html#more-737 

二,现在开始介绍在64bit centos 6.3的版本中让nginx使用tcmalloc。需要用到的软件都已经上传到附件中。
三,安装libunwind库。

 
 
  1. # tar xf libunwind-1.0.tar.gz 
  2. # tar xf libunwind-1.0 
  3. #CFLAGS=-fPIC ./configure添加编译参数 
  4. # make CFLAGS=-fPIC 
  5. # make CFLAGS=-fPIC install 
这样执行会出现如下错误:
 
 
  1. libtool: install: error: relink `libunwind-setjmp.la' with the above command before installing it 
  2. make[3]: *** [install-libLTLIBRARIES] Error 1 
  3. make[3]: Leaving directory `/down/libunwind-1.0/src' 
  4. make[2]: *** [install-am] Error 2 
  5. make[2]: Leaving directory `/down/libunwind-1.0/src' 
  6. make[1]: *** [install] Error 2 
  7. make[1]: Leaving directory `/down/libunwind-1.0/src' 
  8. make: *** [install-recursive] Error 1 

产生这种问题的原因:autotools兼容性的问题,运行命令autoreconf -i -f  ,在重新编译安装下。

 
 
  1. #autoreconf -i -f 
  2. #make clean 
  3. #CFLAGS=-fPIC ./configure 
  4. #make  CFLAGS=-fPIC  
  5. #make  CFLAGS=-fPIC install 

四,安装gpperftools:

 
 
  1. #tar xf  gperftools-2.0.tar.gz 
  2. # cd gperftools-2.0 
  3. #./configure  
  4. #make && make install  
这样安装会会报如下错误:
 
 
  1. cc1plus: warning: unrecognized command line option "-Wno-unused-result" 
  2. ake: *** [stacktrace.lo] Error 1 

为什么出现在这种错误,因此是64bit系统,至于更深度的解释,安装说明中有。下面重新编译。

 
 
  1. #make clean  
  2. #./configure  --enable-frame-pointers  
  3. #make &&  make install  
  4. #echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf 
  5. #ldconfig 

五,编译pcre,使nginx支持http rewrite。

 
 
  1. # tar xf pcre-8.10.tar.gz  
  2. # cd pcre-8.10 
  3. # ./configure 
  4. # make && make install 

六,编译nginx

 
 
  1. # tar xf nginx-1.2.3.tar.gz  
  2. # ./configure  \
  3. --with-http_ssl_module \ 
  4.   --with-http_flv_module \ 
  5.   --with-http_stub_status_module \ 
  6.   --with-http_gzip_static_module \ 
  7.   --http-client-body-temp-path=/var/tmp/nginx/client/ \ 
  8.   --http-proxy-temp-path=/var/tmp/nginx/proxy/ \ 
  9.   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \ 
  10.   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 
  11.   --http-scgi-temp-path=/var/tmp/nginx/scgi \ 
  12.   --with-pcre \ 
  13.   --with-google_perftools_module 
  14. # make && make install 

7,为gperftools创建线程目录

 
 
  1. #mkdir /tmp/tcmalloc 
  2. #chmod 0777 /tmp/tcmalloc 

8,修改nginx的配置文件

 
 
  1. #vim /usr/local/nginx/conf/nginx.conf 
  2. #pid        logs/nginx.pid; 
  3. google_perftools_profiles /tmp/tcmalloc;添加这一行 

9,启动nginx,并验证tcmalloc有没有正常加载

 
 
  1. # /usr/local/nginx/sbin/nginx 
  2. # lsof -n |grep tcmalloc 
  3. nginx      1893    nobody    9w      REG              253,0        0      43018 /tmp/tcmalloc.1893 
  4. nginx      1894    nobody   11w      REG              253,0        0      43016 /tmp/tcmalloc.1894 

至此已经替换成功。










本文转自 deng304749970 51CTO博客,原文链接:http://blog.51cto.com/damondeng/992645,如需转载请自行联系原作者
目录
相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1081 87
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
483 14
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
2205 13
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
1003 3
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
缓存 前端开发 JavaScript
nginx的优化
nginx的优化
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
359 2
|
应用服务中间件 Linux nginx
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
这篇文章介绍了在CentOS系统上使用Nginx源码包进行安装和配置的详细步骤,包括源码包的获取、解压、配置、编译、安装、启动验证以及注意事项。
1311 0
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
653 0