一.nginx简介

1.什么是nginx?

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,支持高达 50,000 个并发连接数。功能:反向代理,负载均衡,动静分离

2.反向代理

代理的是服务端,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定

3.正向代理

代理的是客户端,比如vpn,我们访问不了外网地址,就用代理我们的服务器,然后通过正向代理向目的服务器发起请求,之后就可以访问到目的服务器了

4.负载均衡

请求分发到多个服务器上,将负载分发到不同的服务器,这就是所说的负载均衡

5.动静分离

可以将一些css,js,img ,html 等一些静态资源没必要去让tomcat 去加载,好处是减少tomcat压力,提高响应速度,让tomcat只去处理跟数据库打交道的请求

二.nginx配置文件

将 nginx.conf 配置文件分为三部分:

1.全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令

#工作进程数,默认1,可设置为cpu核心数
worker_processes number | auto;
#配置Nginx进程的PID存放路径(启动nginx 时自动生成的 里面存放的是当前 nginx 住进程的ID 号)
pid file;
#配置全局错误日志的存放路径
error_log file | stderr [level];

2.events块

events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接

#单个工作进程可以允许同时建立外部连接的数量(一般1024,最大10w)
worker_connections

3.http全局块

包括 http 全局块、server 块

http全局块设置超时时间,单链接请求数上限等

server块相当于一个虚拟主机。包括全局server块和location块

http {
#设定mime类型,类型由mime.type文件定义
include mime.types;
#默认文件类型
default_type application/octet-stream; #设定日志格式(自定义)
log_format ownformat '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /home/nginx/log/http_access.log ownformat; keepalive_timeout 120; #长连接超时时间,单位是秒
send_timeout 30; #指定客户端的响应超时时间 upstream myserver{ #负载均衡配置
server 127.0.0.1:8081 weight=1;
server 127.0.0.1:8082 weight=1;
}
server {
listen 80; #描述虚拟主机接受连接的地址和端口
server_name localhost; #内网:主机名,外网:域名 可以是多个域名,用空格隔开
index index.html index.htm index.jsp; #默认访问主页
root /nginx/www/webapps; #主目录 location / {
proxy_pass http://myserver #配置负载均衡
}
location ~/edu/ { #正则 路径包含edu 转发到8001端口
proxy_pass 127.0.0.1:8001
}
# 动静分离配置
location /image/ {
proxy_set_header Host $host;
proxy_pass http://stack_pools;
}
location /dynamic/ {
proxy_set_header Host $host;
proxy_pass http://dynamic_pools;
} }
}

三. 负载均衡策略

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

upstream backserver {

server 192.168.0.14;

server 192.168.0.15;

}

2、指定权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream backserver {

server 192.168.0.14 weight=8;

server 192.168.0.15 weight=10;

}

3、IP绑定 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream backserver {

ip_hash;

server 192.168.0.14 weight=8;

server 192.168.0.15 weight=10;

}

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream backserver {

server server1;

server server2;

fair;

}

【总结】nginx基础的更多相关文章

  1. Nginx基础整理

    目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Nginx的主要企业功能 Nginx作为web服务器的主要应用场景包括: Nginx的安装 安装环境 快速安装命令集合 各个 ...

  2. nginx 基础文档

    Nginx基础 1.  nginx安装 2.  nginx 编译参数详解 3.  nginx安装配置+清缓存模块安装 4.  nginx+PHP 5.5 5.  nginx配置虚拟主机 6.  ngi ...

  3. Nginx基础教程PPT

    Nginx基础教程PPT By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) pdf版本号下载 watermark/2/text/aHR0cD ...

  4. Linux - nginx基础及常用操作

    目录 Linux - nginx基础及常用操作 Tengine淘宝nginx安装流程 nginx的主配置文件nginx.conf 基于域名的多虚拟主机实战 nginx的访问日志功能 网站的404页面优 ...

  5. Nginx基础知识介绍

    Nginx基础知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx概述 Nginx是免费的.开源的.高性能的HTTP和正向/反向代理服务器.邮件代理服务器.以及T ...

  6. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  7. 原创——Nginx基础

    Nginx基础 一.Nginx概述: Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx ...

  8. Nginx基础优化

    Nginx基础优化 1.隐藏nginx header版本号 1.1查看版本号 [root@Nginx ~]# curl -I http://www.yunwei.cn HTTP/1.1 200 OK ...

  9. Nginx基础详细讲解

    Nginx基础详细讲解 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App,操作更方便哦 1. ...

  10. nginx基础(二)

    二.nginx基础配置 (1)错误指向一个页面 http状态指向指定访问页面,在 /etc/nginx/conf.d/default.conf 中配置 error_page /50x.html; er ...

随机推荐

  1. AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清

    摘要:诸多关于人工智能的流行词汇萦绕在我们耳边,比如深度学习 (Deep Learning).强化学习 (Reinforcement Learning).迁移学习 (Transfer Learning ...

  2. Alibaba高并发业务秒杀系统落地实战文档,已实践某大型秒杀场景

    前言: 高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时.CPU load升高.GC频繁.死锁.大数据量存储等等,这些问题能推动我们在技术深 ...

  3. Vue常用指令详解分析

    Vue入门 Vue是一个MVVM(Model / View / ViewModel)的前端框架,相对于Angular来说简单.易学上手快,近两年也也别流行,发展速度较快,已经超越Angular了.比较 ...

  4. Centos-rpm二进制包安装-rpm

    rpm 软件包管理器 rpm包命名规范 mysql-community-server-5.7.21-1.el7.x86_64.rpm 软件名称 mysql-community-server 软件版本 ...

  5. Python练习题 010:分解质因数

    [Python练习题 010]将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. -------------------------------------------------- ...

  6. 04 sublime text 3在线安装package control插件,之后安装主题插件和ConvertToUTF8 插件

    前提:需要@@科学@@上网 在线安装包通常都需要@@科学@@上网 安装package control插件 在线安装package control插件 按ctrl+shift+p 输入install,选 ...

  7. Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例

    本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法).分享给大家供大家参考,具体如下: # coding:utf-8 # Dijkstra算法--通过边实现松弛 # 指定一个 ...

  8. DM8数据库备份还原的原理及应用

    (本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 一.原理 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SY ...

  9. const、define 和 static 的区别

    目录 define.const static define.const 在 C++ 中,const 和 define 都可以用来定义常量.但是这二者之间有很大的区别: define 的作用 用 def ...

  10. SolrCloud搭建

    什么是SolrCloud? SolrCloud是基于 solr 和 zookeeper 的分布式搜索方案,它的主要思想是使用zookeeper作为SolrCloud集群的配置信息中心,统一管理Solr ...