Alt_Shift

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 nginx反向代理服务器

1.技术选型

nginx主要能实现的功能有负载均衡,反向代理,动静分离.选择nginx主要为了实现反向代理以及负载均衡功能,

*为什么要实现反向代理

传统项目直接暴露在外网入口,危险性高,不安全,使用nginx的虚拟IP可以代理tomcat服务,增加安全性.

*为什么要实现负载均衡?

一个服务器的负载过多,使用多个服务器来分担负载,

*为什么要实现动静分离?

有一些静态页面譬如Html等如果在nginx中可以直接返回,提高响应速度,增强用户体验.

2.nginx的优点

nginx性能较强,多核支持,支持插件,支持集群,支持后端查活,支持热启动,不支持外部读取.

3.部署配置版本罗列

nginx 1.12.2

pcre-8.37

tomcat 9.0.39

华为云 2CPU4G

4.nginx部署在华为云

统一将nginx、tomcat和pcre都放到/usr/local/src文件夹下,使用 tar -zxvf 指令解压.

(1)先解压pcre

(2)解压nginx,解压后/usr/local文件夹下面会出现一个nginx文件夹

(3)进入nginx文件夹,进入sbin文件夹 使用 ./nginx命令开启nginx服务(所有nginx指令操作都需要在这个目录下)

(4)windows访问 IP:80 出现nginx页面,部署nginx成功

5.使用nginx实现反向代理

nginx.conf文件

 

 首先是listen监听端口,然后是server_name 一般使用自己对外暴露的IP,proxy_pass代理转发到哪个端口.

重启nginx实现反向代理.

6.使用nginx实现负载均衡

nginx.conf

默认使用轮询来进行负载均衡.也就是两个接口排序进行接收.

7.nginx负载均衡的几种路由规则

(1) 轮询:默认方式

(2)权值:weight 在conf文件的 upstream server 后面加上 weight : 1.来设定权值.如果权值越大,调用的机会越大.

代码如下.

upstream backend { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 

(3)ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
例如: 

代码如下:

upstream backend { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 

(4)fair

按后端服务器的响应时间来分配请求,响应时间短的优先分配。 

代码如下:

upstream backend { 
server server1.linuxany.com; 
server server2.linuxany.com; 
fair; 

 

posted on 2020-11-16 10:26  Alt_Shift  阅读(83)  评论(0编辑  收藏  举报