Nginx服务器总结

Nginx

Nginx介绍

什么是Nginx?

Nginx是一款轻量级的Web 服务器反向代理服务器及电子邮件(IMAP/POP3)代理服务器,启动极快,高并发能力强,在互联网项目中广泛应用。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。由于它的内存占用少.

特点:反向代理 负载均衡 动静分离

正向代理和反向代理

正向代理: 用于代理内部网络对internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端。
所谓的正向代理就是代理服务器**替代访问方【用户】**去访问目标服务器【服务器】
在这里插入图片描述
反向代理: 与正向代理相反, 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

所谓的反向代理就是代替服务器接受用户的请求,从目标服务器中取得用户的需求资源,然后发送给用户
在这里插入图片描述

负载均衡

负载均衡:数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。
在这里插入图片描述

动静分离

动静分离:将静态的资源放到反向代理服务器,节省用户的访问时间

安装nginx

官方网站:http://nginx.org/

  • 安装nginx的依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
  • 解压安装包
tar -zxvf nginx-1.10.0.tar.gz
  • 配置nginx安装包
cd nginx-1.10.0

./configure --prefix=/usr/local/nginx
  • 编译并安装
make && make install

nginx配置文件介绍

#user  nobody;
#工作进程
worker_processes  1;

events {
    #连接池连接数
    worker_connections  1024;
}
#请求方式
http {
    #媒体类型
    include       mime.types;
    #默认媒体类型 二进制
    default_type  application/octet-stream;
    #上传文件
    sendfile        on;
    #超时时间
    keepalive_timeout  65;

    #gzip  on;
    #服务器配置
	server {
        #监听端口
        listen       80;
        #监听域名
        server_name  localhost;
        #请求头信息
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #请求映射规则,/代表所有请求路径
        location / {
             #请求转发地址
             #root html;
			 proxy_pass http://manage.powershop.com:8080;
             #欢迎页
             #index  index.html index.htm;
             #转发连接超时时间
			proxy_connect_timeout 600;
             #转发读取超时时间
			proxy_read_timeout 600;
        }
    }
}

负载均衡策略

六种负载均衡策略:主要有权重,轮询,根据ip的hash分配,根据url的hash分配

负载均衡策略说明
轮询默认
weight权重方式
ip_hash依据ip分配方式
least_conn按连接数
fair按响应时间
url_hash依据URL分配

权重

在这里插入图片描述

动静分离

nginx 的动静分离,指的是由 nginx 将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如 jsp页面、servlet程序等)由 tomcat 服务器处理,tomcat 本身是用来处理动态资源的,同时 tomcat 也能处理静态资源,但是 tomcat 本身处理静态资源的效率并不高,而且还会带来额外的资源开销。利用 nginx 实现动静分离的架构,能够让 tomcat 专注于处理动态资源,静态资源统一由静态资源服务器处理,从而提升整个服务系统的性能 。

输入访问路径 ,访问路径下的静态资源

location ~* \.(gif|jpg|png|jpeg)$ {
		root /usr/upload/images;
	}

处理流程

  1. 浏览器准备发起请求,访问http://manage.powershop.com,但需要进行域名解析

  2. 优先进行本地域名解析,因为我们修改了hosts,所以解析成功,得到地址:127.0.0.1

  3. 请求被发往解析得到的ip,并且默认使用80端口:http://127.0.0.1:80

    本机的nginx一直监听80端口,因此捕获这个请求

  4. nginx中配置了反向代理规则,将manage.powershop.com代理到127.0.0.1:8080,因此请求被转发

  5. 后台管理系统得到127.0.0.1:8080请求并处理,完成后将响应返回到nginx

  6. nginx将得到的结果返回到浏览器
    在这里插入图片描述

问题

1、nginx的6种负载均衡策略?
轮询 默认
weight 权重
ip_hash 根据ip分配 指定一个
url_hash 根据url分配 指定一个
fair 响应时间
least_conn 最少连接数

2、如何防止session丢失?
ip_hash:如果tomcat1挂了,仍然会访问tomcat2
session复制:多台tomcat时,复制session非常耗费资源
redis:redis和session都是k、v,都能设置过期时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值