Nginx 终极篇

作者: 康俊1024 | 来源:发表于2019-05-19 13:34 被阅读50次

Nginx的进程模型

Master进程

充当整个进程组与用户的交互接口,同时对进程进行监护。它不需要处理网络事件,不负责业务的执行,只会通过管理work进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。
主要是用来管理worker进程

  1. 接收来自外界的信号 ( kill -HUP 信号等)
    我们要控制nginx,只需要通过kill向master进程发送信号就行了。比如kill -HUP pid,则是告诉nginx,从容地重启nginx,我们一般用这个信号来重启nginx,或重新加载配置,因为是从容地重启,因此服务是不中断的。master进程在接收到HUP信号后是怎么做的呢?首先master进程在接到信号后,会先重新加载配置文件,然后再启动新的worker进程,并向所有老的worker进程发送信号,告诉他们可以光荣退休了。新的worker在启动后,就开始接收新的请求,而老的worker在收到来自master的信号后,就不再接收新的请求,并且在当前进程中的所有未处理完的请求处理完成后,再退出。
  2. 向各个worker进程发送信号。
  3. 监控worker进程的运行状态。
  4. 当worker进程退出后(异常情况下),会自动重新启动新的worker进程。

Work进程

主要是完成具体的任务逻辑。它的主要关注点是客户端和后端真实服务器之间的数据可读、可写等I/O交互事件各个worker进程之间是对等且相互独立的,他们同等竞争来自客户端的请求,一个请求只可能在一个worker进程中处理,worker进程个数一般设置为cpu核数。
master进程先建好需要listen的socket后,然后再fork出多个woker进程,这样每个work进程都可以去accept这个socket。当一个client连接到来时,所有accept的work进程都会受到通知,但只有一个进程可以accept成功,其它的则会accept失败。

Nginx配置https的请求

  • https基于SSL/TLS这个协议;
  • 非对称加密、对称加密、 hash算法
  • crt的证书->返回给浏览器

创建证书

创建服务器私钥
openssl genrsa -des3 -out server.key 1024
创建签名请求的证书(csr); csr核心内容是一个公钥
openssl req -new -key server.key -out server.csr
去除使用私钥时的口令验证
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
标记证书使用私钥和csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
x509是一种证书格式
server.crt就是我们需要的证书

配置

https.png

tomcat增加对https的支持

Connector 8080节点加入 redirectPort="443" proxyPort="443"
redirectPort :当http请求有安全约束才会转到443端口使用ssl传输

Nginx+keepalived

keepalived – >VRRP(虚拟路由器冗余协议)
VRRP全称 Virtual Router Redundancy Protocol,即 虚拟路由冗余协议。可以认为它是实现路由器高可用的容错协议,即将N台提供相同功能的路由器组成一个路由器组(Router Group),这个组里面有一个master和多个backup,但在外界看来就像一台一样,构成虚拟路由器,拥有一个虚拟IP(vip,也就是路由器所在局域网内其他机器的默认路由),占有这个IP的master实际负责ARP相应和转发IP数据包,组中的其它路由器作为备份的角色处于待命状态。master会发组播消息,当backup在超时时间内收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,保证路由器的高可用。

安装keepalived

1.Tar -zxvf keepalived.tar.gz
2../configure --prefix=/mic/data/program/keepalived --sysconf=/etc
3.缺少依赖:yum install gcc ; yum install openssl-devel;yum -y install libnl libnl-devel  
4.编译安装 make && make install
5.cd到解压的包 /parker/data/program/keepalived-1.3.9
6.ln -s /mic/data/program/keepalived/sbin/keepalived    /sbin  --建立软链接
7.cp /mic/data/program/keepalived-1.3.9/keepalived/etc/init.d/keepalived      /etc/init.d/
8.添加到系统服务
  a)chkconfig --add keepalived
  b)chkconfig keepalived on
  c)Service keepalived start

相关文章

  • Nginx 终极篇

    Nginx的进程模型 Master进程 充当整个进程组与用户的交互接口,同时对进程进行监护。它不需要处理网络事件,...

  • Nginx安装部署文档

    学习终极大法传送门 https://www.kancloud.cn/curder/nginx/96674 一.基础...

  • 12 linux-nginx服务器安装|操作

    nginx-高性能WEB服务器 1 简介基础篇:Nginx介绍Nginx编译安装Nginx整合PHPNginx信号...

  • 终极篇

    说真的,我觉得好多神经类疾病都是相通的,比如强迫、抑郁,皆源于心病和焦虑情绪,最终导致夸大的恐惧和更大程度的焦虑。...

  • Linux操作系统下 Nginx安装部署手册(二)

    在上一篇中介绍了Nginx依赖组件的安装过程:Nginx安装部署(一) Nginx下载 访问Nginx官网:htt...

  • CentOS下,编译安装php 7.1.x

    一,准备篇 1,安装nginx 安装nginx 2,升级软件 3,安装依赖 二、安装篇 1,下载php源码 2,生...

  • 从原理到实战,彻底搞懂Nginx(高级篇)

    配置实例   接 从原理到实战,彻底搞懂Nginx,本文为 Nginx 实操高级篇。通过配置 Nginx 配置文件...

  • Nginx location

    上一篇 Nginx 虚拟主机 Nginx location  在 nginx 的配置文件中,经常可以看到虚拟主机配...

  • MacOS Nginx编译

    MacOS Nginx编译篇 下载Nginx 先下载Nginx,开源免费版本下载地址,我这里用的是最新稳固版本1....

  • Django+Nginx+uwsgi部署

    部署篇: 1、选型 用Nginx+uwsgi+django部署; 2、安装环境 安装nginx sudo apt-...

网友评论

    本文标题:Nginx 终极篇

    本文链接:https://www.haomeiwen.com/subject/bugfzqtx.html