Zhi-什么是Nginx+安装

什么是Nginx

简介

1.nginx是一个高性能的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务
2.主要功能反向代理
3.通过配置文件可以实现集群和负载均衡
4.静态资源虚拟化

常见的服务器

MS IIS
Weblogic Jboss
Tomcat Jetty
Apache Nginx
Netty

什么是反向代理

要说反向代理,就要先聊一聊正向代理

什么是正向代理

1.客户端请求目标服务器之间的一个代理服务器
2.请求会先经过代理服务器,然后再转发请求到目标服务器,获得内容后最后响应给客户端

什么是反向代理

1.用户请求目标服务器,由代理服务器决定访问哪个IP,哪个计算机节点,转发由反向代理服务器去处理的

反向代理使用场景

反向代理之路由

1.虚拟主机,路由的分发和请求
shop.zk777718.com
center.zk777718.com
api.zk777718.com/image

Nginx的安装

  1. 去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本
  2. 上传nginx到linux系统
  3. 安装依赖环境
    (1)安装gcc环境
    yum install gcc-c++
    (2)安装PCRE库,用于解析正则表达式
    yum install -y pcre pcre-devel
    (3)zlib压缩和解压缩依赖,
    yum install -y zlib zlib-devel
    (4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https
    yum install -y openssl openssl-devel
  4. 解压,需要注意,解压后得到的是源码,源码需要编译后才能安装
    tar -zxvf nginx-1.16.1.tar.gz
  5. 编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错 mkdir /var/temp/nginx -p
  6. 在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件
    ./configure
    –prefix=/usr/local/nginx
    –pid-path=/var/run/nginx/nginx.pid
    –lock-path=/var/lock/nginx.lock
    –error-log-path=/var/log/nginx/error.log
    –http-log-path=/var/log/nginx/access.log
    –with-http_gzip_static_module
    –http-client-body-temp-path=/var/temp/nginx/client
    –http-proxy-temp-path=/var/temp/nginx/proxy
    –http-fastcgi-temp-path=/var/temp/nginx/fastcgi
    –http-uwsgi-temp-path=/var/temp/nginx/uwsgi
    –http-scgi-temp-path=/var/temp/nginx/scgi
    如图所示

7.make make install
8. cd /usr/local/nginx/sbin
./nginx 启动nginx
停止:./nginx -s stop
重新加载:./nginx -s reload
./nginx -t
注意事项:
如果在云服务器安装,需要开启默认的nginx端口:80
填写需要打开的端口和允许访问的ip段,保存,即可查看新增的规则
如果是虚拟机:systemctl stop firewalld(关闭防火墙)
systemctl status firewalld (查看防火墙状态)

Nginx的进程模型

master进程:主进程
worker进程:工作进程

master主要是管理worker的进程,worker是做事情的,master接收到外界的指令或者信号,可以把信号传递给worker,
master会监听worker,如果worker进程异常退出了,master会重新启动一个worker进程
每一个进程相互独立的

worker抢占机制

由master主进程fork出子进程,worker,accept_mutex(互斥锁)

传统服务器时间处理

假设一个客户端client1请求被阻塞,client2就会等待,也就是VIO。为了解决这种方式,master会fork出一个新的进程worker2

Nginx事件处理

假设client1的请求阻塞了,但是nginx是异步非阻塞的,发现client1阻塞了,但是没有关系,它会去处理下一个client2,主要是worker1事件机制:use epoll;linux的epoll模型,一个工作进程差不多处理6-8W个请求,CPU越多,内存越大,处理的请求越多
如果nginx最大连接数少,用户就会出现卡顿的现象,用户请求数比较多,但是配置连接数少,

Nginx为什么能达到那么大并发,性能那么高?

1.worker的抢占机制
2.模型采用的是异步非阻塞的通信模式模式,多路复用器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值