网站首页 > 精选教程 正文
最近公司部分硬件和软件需要升级,涉及到前端负载均衡和后端应用。这里简单说一下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的优化会在之后的文章中出现。上面有不对的地方还请指正,谢谢!
猜你喜欢
- 2024-10-13 离线项目实践之sdk数据收集 离线sdk什么意思
- 2024-10-13 记录自己的centos服务器部署过程 服务器centos安装
- 2024-10-13 Nginx + PHP –未指定输入文件 nginx未启用
- 2024-10-13 kubernetes基础概念入门 kubernetes主要功能
- 2024-10-13 好程序员云计算学习路线分享软件包管理
- 2024-10-13 详细到只要知道Linux的人都会用的java架构师必备Linux命令
- 2024-10-13 如何在kubernetes1.12.1 上部署Ingress-nginx
- 2024-10-13 Nginx反向代理与负载均衡 nginx反向代理的主要作用
- 2024-10-13 记一次生产环境FastDFS文件系统安装部署过程
- 2024-10-13 centos6.8安装nginx1.11.12 centos6.8安装python3.10
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)