Nginx入门
简介
Nginx是一个WebServer,它能够反向代理HTTP,HTTPS,SMTP,POP3,IMAP等的协议链接,可以实现负载均衡和HTTP缓存,功能十分强大.Nginx采用异步非阻塞的设计,性能强大,支持高并发,而且占用资源极低.
安装与使用
windows
cmd切换到nginx目录下
启动:start ngix
停止:nginx -s stop
重新加载:nginx -s reload
linux
service nginx (start|stop|restart)
反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
作用:
- 保护网站安全:所有连接都经过该服务器
- 通过配置缓存功能加速Web请求
- 实现负载均衡
- 高可用/热更新/防盗链等等
配置
修改conf/nginx.conf
|
|
负载均衡规则有:
- round-robin:循环,默认规则,请求会循环指向服务列表的各个服务器
- least-connected :最少连接,请求会指向当前连接数最少的服务器
- ip-hash:哈希,会根据请求的客户端ip的哈希值指向服务器列表中的某一个服务器,这样采用session的服务器才能更好地发挥作用,但是并不是很好的实现负载均衡功能
- weight:按照权重来指向各个服务器
配置:
|
|
location规则
语法规则: location [=|~|~*|^~] /uri/ { … }
=
开头 表示精确匹配^~
开头 表示uri以某个常规字符串开头(支持正则)。nginx不对url做编码~
开头 表示区分大小写的正则匹配~*
开头 表示不区分大小写的正则匹配!~
和!~*
分别为区分大小写不匹配及不区分大小写不匹配 的正则/
通用匹配,任何请求都会匹配到
匹配顺序:首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。同等级匹配多个则选择较长的匹配