文章目录
1、静态网站
Nginx是一个Http的Web服务器,可以将服务器上的静态文件(如Html、图片等)通过Http协议返回给浏览器客户端;
server{
listen:80; #监听端口号
location / { #监听路径
root /option/static/TestWeb #静态文件路径
index index.html index.htm #欢迎页html文件名
}
}
规则:请求地址中 ip + 端口 = root
举例说明:
静态页面存放地址 = /opt/static/TestWeb/index.html
期待nginx访问路径 = http://192.168.105.130 (请求格式1)
或者
http://192.168.105.130/TestWeb (请求格式2)
请求格式1 http://192.168.105.130 Nginx配置文件配置方式:
server{
listen:80; #监听端口号
location / { #监听路径
root /option/static/TestWeb #静态文件路径
index index.html index.htm #欢迎页html文件名
}
}
请求格式2 http://192.168.105.130/TestWeb Nginx配置文件配置方式:
server{
listen:80; #监听端口号
location /TestWeb { #监听路径
root /option/static/ #静态文件路径
index index.html index.htm #欢迎页html文件名
}
}
注意:请求路径与静态页面实际路径匹配规则:ip + 端口 = root
用请求格式2 http://192.168.105.130/TestWeb 进行说明:
http://192.168.105.130 = root = /option/static/ (location = /TestWeb)
http://192.168.105.130/TestWeb = root = /option/static/TestWeb (匹配成功)
2、负载均衡
概述:将请求均匀分摊到多个服务器节点上执行。
2.1 负载均衡实现方式
1、硬件实现 : F5、深信服、Array等。
2、软件实现 : Nginx、LVS、HAPProxy等。
1、第一步http模块上:(例子)
upstream www.myweb.com{
server 127.0.0.1 weight = 3;
server 127.0.0.1 weight = 1;
}
其中weigh=1表示权重,用于后端服务器性能不均的情况,访问比率等于权重之比,权重越大访问机会越高。
2、第二步在server模块里添加:(例子)
location /myweb{
proxy_pass http://www.myweb.com;
}
- 其中www.myweb.com字符串要和upstream后面的字符串相等。
- upstream中所配置的服务端,nginx会进行健康检查,如果客户端不能正常访问则nginx会跳过该服务端的转发。
2.2 负载均衡
Nginx如何实现负载均衡:(通过在Nginx的nginx.conf文件进行配置即可实现)
2.3 常用负载均衡策略
2.3.1 轮询策略 :
如不配置默认的是轮询策略
2.3.2 ip_hash策略:
ip_hash也叫IP绑定,每个请求按访问ip的hash值分配,
这样每个访问客户端会固定访问一个后端服务器,
可以解决Session丢失的问题。
upstream www.myweb.com{
ip_hash;
server 127.0.0.1:8080 ;
server 127.0.0.1:8090 ;
}
2.3.3 权重策略:
upstream www.myweb.com{
server 127.0.0.1 weight = 3; weight 比例越大,访问几率越大
server 127.0.0.1 weight = 1; weight 比例越大,访问几率越大
}
2.3.4 最少连接策略:
web请求会被转发到连接数最少的服务器上
upstream www.myweb.com{
least_conn;
server 127.0.0.1 ;
server 127.0.0.1 ;
}
2.4 负载均衡其他几个配置
backup状态:
upstream www.myweb.com{
server 127.0.0.1:8090 ;
server 127.0.0.1:8080 backup; (其他所有非backup的机器都挂机的时候,才请求backup机器)
}
down状态:
upstream www.myweb.com{
server 127.0.0.1:8090 ;
server 127.0.0.1:8080 down; (down表示当前是down状态,不参与负载均衡)
}
3、静态代理
针对文件类型进行匹配:
1、把所有静态资源的访问改为访问nginx,而不是访问tomcat,因为nginx更擅长于静态资源的处理,性能更好、效率更高。
2、在实际应用中,静态资源比如图片、css、html、js交给nginx,而不是交给tomcat。
location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
root /opt/static;
}
3、配置符号讲解:
(
~ 表示正则匹配
第一个点,表示任意字符;
* 表示一个或多个字符;
\. 是转移字符,是后面这个点的转义字符;
| 表示或者;
$ 表示结尾;
)
4、动静分离
针对文件路径进行匹配
location ~ .*/(css|js|img|images) {
root /opt/static;
}
xxx/css
xxx/js
xxx/img
xxx/images
以上例子均可以匹配上