源码编译安装Nginx及版本升降级

2021年5月13日09:15:36 发表评论
摘要

【心语】人生最珍贵的六种财富:一是洋溢在容颜上的自信,二是融化在血液里的骨气,三是打造进灵魂中的信念,四是蕴藏在心底里的梦想,五是丰盈在大脑中的知识,六是父母给咱自己的身体。

一、Nginx 简介:
1、Nginx工作原理:Nginx是由内核以及模块组成的,其中内核设计非常小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端的请求映射到一个Location block(location 是Nginx配置中的一个指令,用于URL匹配),而在这个location中所匹配的每个指令将会启动不同的模块去完成相应的工作。
2、Nginx WEB服务器最主要就是各种模块工作,模块从结构上分为核心模块、基础模块、第三方模块,其中三类模块分别如下:
1)核心模块:http模块、event模块和MAIL模块
2)基础模块:http Access模块、http FastcGI模块、http proxy模块、http rewrite模块
3) 第三方模块:http upstream request hash 模块、Notice模块和http Access key模块、limit_req 模块、upstream check module 等
二、Nginx相对于Apache优点
1、高并发响应性能非常好,官方Nginx处理静态文件并发5w/s
2、反向代理性能非常好(可用于负载均衡)
3、内存和CPU占用率低(为Apache的1/5-1/10)
4、功能较Apache少(常用功能均有)
5、对PHP可用使用cgi方式和fastcgi方式
6、支持SSL和TLSSNI
三、Nginx常用性能优化
1、根据cpu的核数绑定进程数
2、开启保持绘画连接的时间
3、最大连接数以及并发连接数给一个合理的数字
4、开启网络阻塞
5、开启gzip压缩来提升用户的体验效果
6、开启缓存时间来提升用户的体验以及节省自己的带宽
7、防盗链优化
8、Nginx加密传输优化
9、网络IO事件模型优化
四、Nginx Web 服务器安装部署
1、Nginx web 安装时可以指定很多的模块,默认需要安装Rewrite模块,也即是需要系统有PCRE库,安装pcrez支持rewrite功能,
4.1、安装PCRE库、SSL支持
[root@localhost ~]# yum -y install pcre pcre-devel openssl openssl-devel gcc gcc-c++ wget
4.2、下载Nginx 源码包
[root@localhost ~]# wget -c http://mirrors.rootpei.com/nginx/nginx-1.12.0.tar.gz
[root@localhost ~]# tar xf nginx-1.12.0.tar.gz
4.3进入解压目录,预编译Nginx
[root@localhost ~]# cd nginx-1.12.0
[root@localhost nginx-1.12.0]# useradd -s /sbin/nologin www
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make && make install
[root@localhost nginx-1.12.0]# /usr/local/nginx/sbin/nginx –t
源码编译安装Nginx及版本升降级
#启动
[root@localhost nginx-1.12.0]# /usr/local/nginx/sbin/nginx
源码编译安装Nginx及版本升降级
源码编译安装Nginx及版本升降级
成功
4.4配置启动命令的软链接
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
五、配置nginx升降版本
1、Nginx平滑升级概述
1、在不停掉老进程的情况下,启动新进程
2、老进程负责处理完仍然没有处理完的请求,但不再接受处理请求
3、新进程接受新请求
4、老进程处理完所有请求,关闭所有连接后,停止
2、说明:Nginx平滑升级一般有两种情况
1、确实需要升级Nginx的版本
2、为Nginx添加一些新的模块
。Nginx web 服务升级版本。或者降级版本,分为如下四个步骤
1、获取旧版本的nginx的configure选项
[root@localhost ~]# nginx –V
源码编译安装Nginx及版本升降级
2、下载新版本源码包
[root@localhost ~]# wget -c http://mirrors.rootpei.com/nginx/nginx-1.2.0.tar.gz
3、编译新版本Nginx
[root@localhost ~]# tar xf nginx-1.2.0.tar.gz
[root@localhost ~]# cd nginx-1.2.0
。注意这里的参数需要跟旧版本保持一致
[root@localhost nginx-1.2.0]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
。注意此处绝对不可以 make install
[root@localhost nginx-1.2.0]# make
4、备份旧版本的nginx可执行文件,并复制新版本的nginx执行文件到/usr/local/nginx/sbin/ 目录下即可
[root@localhost nginx-1.2.0]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
[root@localhost nginx-1.2.0]# cp objs/nginx /usr/local/nginx/sbin/
5、测试新版本是否正常
[root@localhost nginx-1.2.0]# nginx –t

源码编译安装Nginx及版本升降级
6、平滑重启升级nginx
[root@localhost nginx-1.2.0]# nginx -s reload
7、验证是否成功
[root@localhost nginx-1.2.0]# nginx –V
源码编译安装Nginx及版本升降级
升级成功!降级的方式一致

  • 微信公众号
  • 这是我的微信公众号扫一扫
  • weinxin
  • 我的QQ技术群
  • 我的QQ技术群扫一扫
  • weinxin
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: