编程技术分享平台

网站首页 > 技术教程 正文

编译安装Nginx,并使用jemalloc优化内存分配

xnh888 2024-09-09 09:52:04 技术教程 117 ℃ 0 评论

最近公司部分硬件和软件需要升级,涉及到前端负载均衡和后端应用。这里简单说一下Nginx的编译安装和使用jemalloc优化内存的分配。

Nginx是一款轻量级并且高性能的Web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。由俄罗斯人研发,使用C编写,支持模块化,再高并发情况下是Apache良好替代品。

Nginx支持使用epoll (Linux 2.6+)和kqueue(FreeBSD 4.1+)这种高效的事件处理模型,这也是Nginx支持高并发的原因。Nginx运行在一个主进程和多个工作进程上,工作进程是单线程的,且不需要特殊授权即可运行。

作为Web服务器:相比 较Apache而言,Nginx 使用更少的资源,支持更多的并发连接数,效率更高。Nginx能和php等语言协同工作,支持基于IP、端口、域名的虚拟主机配置,支持压缩传输,并且自带缓存功能,同时支持基于客户端IP 地址和 HTTP 基本认证的访问控制以及流量限制,支持SSL 和 TLS SNI 和URL Rewrite等常用功能。

作为负载均衡服务器:支持7层代理,新版已经支持4层代理,支持健康状态检查,多种负载均衡方法等等。

Jemalloc能够更好的管理和分配内存,搭配使用让Nginx的效率更高。

上面只是简单介绍了下Nginx的功能,下面开始安装,系统是CentOS7的,Nginx是最新稳定版1.12.2

1.安装基础组件

yum install openssl openssl-devel gcc pcre-static pcre pcre-devel zlib-devel zlib gzip 或者直接yum -y groupinstall "Development Tools"

2.安装Jemalloc

下载地址:https://github.com/jemalloc/jemalloc/releases

1)下载

wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2

2)解压

tar jxf jemalloc-5.0.1.tar.bz2

3)安装

cd jemalloc-5.0.1

./configure

make

make install

3.安装Nginx

tar zxf nginx-1.12.2.tar.gz

cd nginx-1.12.2

./configure --prefix=/usr/local/nginx-1.12.2 --with-http_ssl_module --with-http_stub_status_module --with-http_flv_module --with-http_gzip_static_module --with-file-aio --with-http_dav_module --with-http_gunzip_module --with-pcre --with-http_realip_module --with-http_v2_module --user=nginx --group=nginx --with-threads --with-pcre-jit --with-http_sub_module --with-ld-opt=-ljemalloc

make

make install

创建nginx的软连接,以后升级版本只要安装新版本之后修改软连接就可以指向新版了。

ln -s nginx-1.12.2 nginx

4.启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

-c参数后面跟的是配置文件,启动之前可以先用-t参数检查配置文件是否正确。

如果需要使用Nginx的4层反向代理功能,还需要再编译时加入如下模块--with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module

这里只是简单讲了Nginx的编译安装,具体使用中用到的参数和Nginx的优化会在之后的文章中出现。上面有不对的地方还请指正,谢谢!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表