栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Nginx -- 基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx -- 基础

Nginx -- 基础
      • 目录结构
      • 基本配置
        • 最小配置
        • 虚拟主机配置
        • 反向代理配置
        • 负载均衡配置
        • 动静分离
        • Url Rewrite配置
        • 防盗链
      • 高可用配置
      • https证书配置

目录结构
  • conf :存放配置文件相关
  • html :存放静态文件默认目录html、css等
  • sbin :nginx的主程序
基本配置 最小配置
  • worker_processes 1;默认开启一个业务进程
  • worker_connections 1024;单个业务进程可以接收的链接数
  • include mime.types;引入http mime类型
  • deflut_type application/octet-stream;mime类型没匹配上会默认使用二进制流方式传输
  • sendfile on;开启linux的0拷贝
  • keepalive_timeout 65;超时时间
虚拟主机配置
server {
	listen 80; 监听端口号
	server_name localhost; 主机名
	location / { 匹配路径
		root html; 文件根目录
		index index.html index.htm; 默认页名称
	}
	error_page 500 502 503 504 /50x.html; 报错编码对应页面
	location = /50x.html {
		root html;
	}
}
  • 虚拟主机:原本一台服务器只能对应一个站点,通过虚拟主机技术可以虚拟化成多个站点同时对外提供服务
  • server_name:servername匹配分先后顺序,写前面的匹配上就不会继续匹配
    • 完整匹配:同一个servername中可以匹配多个域名 ,server_name a.xxx.com b.xxx.com;
    • 通配符开始匹配:server_name *.xxx.com
    • 通配符结束匹配:server_name a.xxx.*
    • 正则匹配:server_name ~^ [0-9]+.xxx.com$
反向代理配置
  • proxy_pass
	location / {
		proxy_pass http://atguigu.com/;
	}
负载均衡配置
  • upstream
upstream proxyPass { //反向代理的路径
	server 127.0.0.1:8050 weight=10 down;
	server 127.0.0.1:8060 weight=1;
	server 127.0.0.1:8060 weight=1 backup;
}
server {
	listen 80; 监听端口号
	server_name localhost; 主机名
	location / { 匹配路径
		proxy_pass proxyPass; //配置反向代理upstream路径
		root html;
		index index.html index.htm;
	}
	error_page 500 502 503 504 /50x.html; 报错编码对应页面
	location = /50x.html {
		root html;
	}
}

负载均衡策略

  • down:表示当前的server暂时不参与负载
  • backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。
  • weight:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
  • ip_hash:根据客户端的ip地址转发同一台服务器,可以保持回话
  • least_conn:最少连接访问
  • url_hash:根据用户访问的url定向转发请求
  • fair:根据后端服务器响应时间转发请求
动静分离
  • location配置
location前缀匹配规则
/通用匹配,任何请求都会匹配到
=精准匹配
~正则匹配,区分大小写
~*正则匹配,不区分大小写
^~非正则匹配,匹配以指定模式开头的location
  • location匹配顺序
    • 多个正则location直接按书写顺序匹配,成功后就不会继续往后面匹配
    • 普通(非正则)location会一直往下,直到找到匹配度最高的(最大前缀匹配)
    • 当普通location与正则location同时存在,如果正则匹配成功,则不会再执行普通匹配
    • 所有类型location存在时,“=”匹配 > “^~”匹配 > 正则匹配 > 普通(最大前缀匹配)
Url Rewrite配置
rewrite   [flag];
flag标记说明:
last #本条规则匹配完成后,继续向下匹配新的location URI规则
break #本条规则匹配完成即终止,不再匹配后面的任何规则
redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

{
	server {
		listen 80; 
		server_name localhost;
		location / {
			rewrite ^/([0-9]+).html$ /order.html?pageNum=$1 break;//将x.html转换到index路径,用于隐藏实际请求路径
			proxy_pass proxyPass; 
		}
	}
}
防盗链
  • none, 检测 Referer 头域不存在的情况。
  • blocked,检测 Referer 头域的值被防火墙或者代理服务器删除或伪装的情况。这种情况该头域的值不以“http://” 或 “https://” 开头。
  • server_names ,设置一个或多个 URL ,检测 Referer 头域的值是否是这些 URL 中的某一个。
配置到location中
valid referers none | blocked | server_names | strings ....;

location / {
	valid_referers 192.168.44.101;
	if ($invalid_referer) {
		return 403;
	}
}
高可用配置
  • 下载Keepalived
  • 配置keepalived

机器1

	global_defs {
		router_id lb111
	}
	vrrp_instance atguigu {
		state MASTER //状态 master、backup
		interface ens33
		virtual_router_id 51
		priority 100 //优先级,越大主备优先级越高
		advert_int 1
		authentication { //统一集群认证信息需要一致
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
			192.168.44.200
		}
	}

机器2

	global_defs {
		router_id lb111
	}
	vrrp_instance atguigu {
		state BACKUP
		interface ens33
		virtual_router_id 51
		priority 99
		advert_int 1
		authentication { //统一集群认证信息需要一致
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
			192.168.44.200
		}
	}
https证书配置
{
	server {
		listen 443 ssl;  //监听https 443端口
		server_name localhost;
		ssl_certificate /data/cert/server.crt; //配置证书
		ssl_certificate_key /data/cert/server.key; //配置秘钥
	}
}

学习地址:尚硅谷Nginx教程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号