Nginx 主要应用 教程

1、静态网站

Nginx是一个Http的Web服务器,可以将服务器上的静态文件(如Html、图片等)通过Http协议返回给浏览器客户端;
centos中静态页面文件夹

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;
}
  1. 其中www.myweb.com字符串要和upstream后面的字符串相等。
  2. 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
以上例子均可以匹配上
发布了4 篇原创文章 · 获赞 2 · 访问量 3002

猜你喜欢

转载自blog.csdn.net/jrgdspuwij/article/details/104070188
今日推荐