目录
一、前言
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,网页如下所示:
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
chmod +x /etc/init.d/nginx
chkconfig --add nginx
systemctl stop nginx
systemctl start nginx
服务启动成功
三、版本升级
Nginx从2004年发布至今经历了多个版本的演变。在生产中我们必须及时跟上版本的更新,因为新版本会修复以往版本的bug以及安全漏洞,所以及时更新Nginx是运维非常重要的一个任务
更新步骤
首先确保服务器已安装Nginx,查看现有Nginx版本
如图现在为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 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。