【总结】nginx基础
一.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基础的更多相关文章
- Nginx基础整理
目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Nginx的主要企业功能 Nginx作为web服务器的主要应用场景包括: Nginx的安装 安装环境 快速安装命令集合 各个 ...
- nginx 基础文档
Nginx基础 1. nginx安装 2. nginx 编译参数详解 3. nginx安装配置+清缓存模块安装 4. nginx+PHP 5.5 5. nginx配置虚拟主机 6. ngi ...
- Nginx基础教程PPT
Nginx基础教程PPT By 马冬亮(凝霜 Loki) 一个人的战争(http://blog.csdn.net/MDL13412) pdf版本号下载 watermark/2/text/aHR0cD ...
- Linux - nginx基础及常用操作
目录 Linux - nginx基础及常用操作 Tengine淘宝nginx安装流程 nginx的主配置文件nginx.conf 基于域名的多虚拟主机实战 nginx的访问日志功能 网站的404页面优 ...
- Nginx基础知识介绍
Nginx基础知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx概述 Nginx是免费的.开源的.高性能的HTTP和正向/反向代理服务器.邮件代理服务器.以及T ...
- [转帖]nginx基础整理
nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...
- 原创——Nginx基础
Nginx基础 一.Nginx概述: Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx ...
- Nginx基础优化
Nginx基础优化 1.隐藏nginx header版本号 1.1查看版本号 [root@Nginx ~]# curl -I http://www.yunwei.cn HTTP/1.1 200 OK ...
- Nginx基础详细讲解
Nginx基础详细讲解 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App,操作更方便哦 1. ...
- nginx基础(二)
二.nginx基础配置 (1)错误指向一个页面 http状态指向指定访问页面,在 /etc/nginx/conf.d/default.conf 中配置 error_page /50x.html; er ...
随机推荐
- 全世界最强的算法平台codeforces究竟有什么魅力?
大家好,之前说过由于和LeetCode结了梁子,所以周末的LeetCode专题取消了,给大家写点其他专题的算法问题.目前选择的是国外著名的编程竞赛平台--codeforces.它在竞赛圈名气比较大,对 ...
- JavaScript,你好!
初识JavaScript 概述 JavaScript是一门世界上最流行的脚本语言 ECMAScript它可以理解为是javaScript的一个标准 而且现在最新的版本已经到es6版本 但是大部分浏览器 ...
- 使用AOP和Validator技术对项目接口中的参数进行非空等校验
javax.validation.Validator基础知识补充: validator用来校验注解的生效,如: @NotBlank(message = "地址名不能为空") pri ...
- Spring学习(三)--Spring的IOC
1.BeanFactory和FactoryBean BeanFactory是一个接口类,定义了IOC容器最基本的形式,提供了IOC容器所应该遵守的基本服务契约. FactoryBean是一个能产生或者 ...
- golang go语言 实现链表
package main import ( "errors" "fmt" "strconv" ) type List struct { Le ...
- IDM下载度盘文件
百度网盘是百度公司推出的一款个人云服务产品.百度网盘官方版操作简单,我们打开后就可以使用该软件来上传.下载文件等.不仅如此百度网盘软件还可以批量上传文件.支持断点传续等功能,重要的是上传的文件不会占用 ...
- windows10开机后恢复关机前打开的chrome网页
开始-设置-账户-登录选项-隐私,下面一个"更新或重启后--"即第二个开关打开. 这时,无论是重启.更新重启或关机后开机,均可恢复原关机时的网页(和应用). 注:题主安装的wind ...
- Java知识系统回顾整理01基础02面向对象02属性
一.根据实例给出"属性"的定义 一个英雄有姓名,血量,护甲等等状态 这些状态就叫做一个类的属性 二.属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以 ...
- 001 发大招了 神奇的效率工具--Java代码转python代码
今天发现一个好玩的工具: 可以直接将java转成python 1. 安装工具(windows 环境下面) 先下载antlr: 下载链接如下: http://www.antlr3.org/downloa ...
- 下载 node.js 步骤 bower npm 报错解决
1,下载node.js ,安装之后就可以 了 2,解决"npm不是内部或外部命令" ,打开安装的node.js 的文件夹 将这个地址,放在环境变量里面 <1,属性环境 ...