编译安装以及升级Nginx

目录

一、前言

1、简介

2、 Nginx模块

3、与Apache的差异

4、优点

二、编译安装

1、关闭防火墙

2、安装依赖包

3、创建运行用户与组

4、编译安装

5、检测配置文件是否正确

6、添加系统服务

三、版本升级

四、总结


一、前言

1、简介

Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯Rambler.ru站点开发,源代码以BSD许可证的形式发布。Nginx对比Apache,其显著特点是内存占用小,并发能力强。在标准服务器上,Nginx通常比Aapche所能够提供的并发量高5-10倍。

Nginx官网网址为:nginx news,网页如下所示:

编译安装以及升级Nginx_第1张图片

2、 Nginx模块

1、核心模块:HTTP模块、EVENT模块和MAIL模块。
2、基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块。
3、第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块和Limit_req模块等。


如果从功能上分,Nginx的模块又可以分为以下三类:
1、处理器模块(Handlers): 此模块直接处理请求,并进行输出内容和修改headers信息等操作,处理器模块一般只能有1个。
2、过滤器模块(Filters): 此模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。
3、代理类模块(Proxies):此类模块主要与一些后端服务FastCGI等进行交互,实现服务代理和负载均衡等功能。

3、与Apache的差异

Nginx Apache
甚于事件的Web服务器 基于流程的服务器
避免子进程的概念 基于子进程
在内存消耗和连接方面更好 在内存消耗和连接方面一般
性能和可伸缩性不依赖于硬件 依赖于CPU和内存等硬件
支持热部署 不支持热部署
对于静态文件处理具有更高效率 一般
在反向代理场景具有明显优势 一般

4、优点

1、可以高并发连接。官方测试Nginx能够支撑5万并发连接,实际生产环境中可以支撑2~4万并发连接数。

2、内存消耗少。

3、成本低廉。

4、支持Rewrite重写。

5、稳定性高。用于反向代理,宕机的概率微乎其微。

6、支持热部署。Nginx支持热部署,它的自动特别容易,并且,几乎可以7天*24小时不间断的运行,即使,运行数个月也不需要重新启动,还能够在不间断服务的情况下,对软件版本进行升级。

 

二、编译安装

1、关闭防火墙

systemctl stop firewalld

setenforce 0

2、安装依赖包

cd /opt

yum -y install gcc gcc-c++ make pcre-devel zlib-devel make

3、创建运行用户与组

useradd -M -s /sbin/nologin nginx

4、编译安装

tar zxvf nginx-1.12.2.tar.gz -C /opt/

cd nginx-1.12.2/

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

make -j2 && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5、检测配置文件是否正确

nginx -t

6、添加系统服务

vim /etc/init.d/nginx

编译安装以及升级Nginx_第2张图片

chmod +x /etc/init.d/nginx

chkconfig --add nginx

systemctl stop nginx

systemctl start nginx

服务启动成功

编译安装以及升级Nginx_第3张图片

三、版本升级

Nginx从2004年发布至今经历了多个版本的演变。在生产中我们必须及时跟上版本的更新,因为新版本会修复以往版本的bug以及安全漏洞,所以及时更新Nginx是运维非常重要的一个任务

更新步骤

首先确保服务器已安装Nginx,查看现有Nginx版本

编译安装以及升级Nginx_第4张图片

如图现在为1.12.2版本

选择比现有版本高的安装包下载

比如1.12.2升级1.20.2

编译升级

cd /opt

tar -zxvf nginx-1.20.2.tar.gz ##解包

./configure \

> --prefix=/usr/local/nginx/ \

> --user=nginx \

> --group=nginx \

> --with-http_stub_status_module \

> --with-http_ssl_module

make ##编译

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old  ##备份

cp objs/nginx /usr/local/nginx/sbin/nginx ##备份

systemctl restart nginx.service ##重启服务

nginx -V ##查看版本

编译安装以及升级Nginx_第5张图片

已经升级完成

总结

版本更新一定要及时,需要十分重视的是,必须进行文件的备份才能进行更新

四、总结

Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

你可能感兴趣的:(nginx,运维,服务器)