Nginx 相关配置

感情迁移 提交于 2020-03-03 01:34:31

准备环境:服务器ip为:110.110.110.110、 nginx监听80端口、两个tomcat端口分别为8080、8081;

【一】反向代理

实现访问http://110.1110.110.110/aaa/a.html 反向代理访问到http://110.1110.110.110:8001/aaa/a.html

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion ~ /aaa/ {
		proxy_pass http://127.0.0.1:8080;
	}
}

【二】负载均衡

nginx实现负载均衡有四种方式:轮询(默认方式)、权重weight、ip_hash、fair;

(1)轮询方式(默认方式):访问http://110.1110.110.110会依次代理到http://110.1110.110.110:8080和http://110.1110.110.110:8081

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	server 110.110.110.110:8080;
	server 110.110.110.110:8081;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

(2)weight权重方式:权重大的转发到的机会大

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	server 110.110.110.110:8080 weight=1;
	server 110.110.110.110:8081 weight=10;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

(3)ip_hash:第一次进的是哪个地址,接下来的访问都是这个地址

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	ip_hash;
	server 110.110.110.110:8080;
	server 110.110.110.110:8081;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

(4)fair:哪个响应时间快就进入哪个

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	server 110.110.110.110:8080;
	server 110.110.110.110:8081;
	fair;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

【三】动静分离

实现将图片放在/usr/media/picture目录里面,配置nginx来访问。(类似tomcat的虚拟路径)

注意配置的location, 当路径里面有picture时,nginx会将picture转化为:/usr/meida/picture/ 这样的。

server {
    listen       80;
    server_name  110.110.110..110;

    location /picture/ {
       root  /usr/media/;    #这里需要注意,只需要配置到/usr/media即可。会自动在后面加上picture
       autoindex  on;
    }
}

【四】高可用的集群

需要结合keepalived 来使用,并且需要用到多台服务器。

步骤大概是:

(1):配置主机名

(2):配置检测脚本

(3):设置主从nginx,绑定网卡和配置虚拟ip

 

nginx最大并发问题:

nginx有master和worker的概念,一般只有一个master,worker的数据可以配置,一般与cpu的个数配置一致。

worker_connections在events里面可以配置,默认1024个。

通常一个动态请求需要占用4个连接数:前台-->nginx-->tomcat需要两个。然后返回信息又需要两个,即需要4个连接数

一个静态请求需要占用2个连接数:前台-->nginx 需要一个,然后返回信息又需要一个,即需要2个连接数

动态请求最大并发数:worker_processes * worker_connections /4

静态请求最大并发数:worker_processes * worker_connections /2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!