nginx反向代理tomcat

nginx反向代理tomcat

本文由个人总结,如需转载使用请标明原著及原文地址

首先你要有tomcat和nginx

没有装tomcat的点这里!!!!!

没有装nginx的点这里!!!!!!

nginx反向代理tomcat其实很简单只需要修改nginx的配置文件就行了

nginx配置文件在/usr/loacl/nginx/conf/nginx.conf

有图形化界面的可以直接打开修改,没图形化界面的用vim命令打开修改

在server上方加入upstream

完整代码结构如下

upstream Demo_server{
		ip_hash;#将相同ip的请求发送到同个server上
		server 127.0.0.1:8080;
		#配置多个,实现轮询,将多个前端请求自动分配到多个server上
		#server 127.0.0.1:8082 backup;#热备,作为备份,主server宕机后自动转发到热备server
		#server 127.0.0.1:8082 weight=2;#权重模式,优先使用级别
	}
    server {
        listen       80;
        server_name www.hostname.cn;
		root /data;#前端静态工程
		index index.html;
	 	location / {
				proxy_set_header Host $host;
				proxy_set_header X-Real-IP $remote_addr;
				proxy_pass http://Demo_server;#反向代理地址
	        }
		location ~ .*\.(gif|jpg|png|html|mp3){
			expires 6h;
		}
		location ~ .*\.(js|css){
			expires 2h;
		}
		access_log /data/logs/nginx/app_access.log;
    }

1.upstream中主要是部署反向代理的服务器,服务器可以是多个也可以是单个

配置多个服务器能够实现负载均衡,所有服务器被使用到的几率都相同,避免单一服务器访问量过大产生问题

upstream Demo_server{
		server 127.0.0.1:8080;
		server 127.0.0.1:8081;
		server 127.0.0.1:8082;
		#配置多个,实现轮询,将多个前端请求自动分配到多个server上
	}

如果是有资金来往的网站,为了避免用户刷新使得订单提交到多个服务器上的情况可以在upstream中加入 ip_hash,目的是同个ip发出的请求只由单个服务器处理

upstream itripbiz_server{
		ip_hash;#将相同ip的请求发送到同个server上
		server 127.0.0.1:8080;
	}

配置的server后面可以加上backup,weight关键词

backup的作用是将该服务器作为一个热备服务器,平时不使用,仅当主服务器出现问题宕机后使用

upstream itripbiz_server{
		server 127.0.0.1:8080;
		server 127.0.0.1:8082 backup;
		#热备,作为备份,主server宕机后自动转发到热备server
	}

weight是权重的意识,也就是服务器被使用的优先级,因为有的时候,公司有多台服务器,有的性能比较好,有的性能比较差,那么我们能让性能好的多处理些请求,就可以用到weight

upstream itripbiz_server{
		server 127.0.0.1:8080;
		server 127.0.0.1:8082 weight=2;#权重模式,优先使用级别
	}

像这样 8082端口的server被用到的概率就会大于8080端口的server,但是这仅仅是概率上的问题,即使把权重设的很大,其他服务器依旧能分配到请求,这方面知识可以参考CPU分配时间片的原理

2.upstream说完后,我们接下来说下server

关键词

作用

listen

是监听的端口

server_name

是访问的域名,例如127.0.0.1与localhost的关系

root

这是设置静态页面存放的路径

index

默认主页

location

根据后面的匹配规则进行拦截

access_log

配置日志存放路径

拦截所有的请求,然后发送到tomcat上

要注意,第三条的名字要和之前配置的upstream的名字相同

location / {
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_pass http://Demo_server;#反向代理地址
      }

然后可以验证下conf文件语法是否正确使用以下命令

/usr/local/nginx/sbin/nginx -t	

我这第一次验证conf文件时报错,原因是我指定的日志文件夹不存在,所以我用mkdir -p 创建了文件夹,之后再进行验证就显示successful了

3.重启nginx

/usr/local/nginx/sbin/nginx -s reload

然后就可以通过nginx访问tomcat了(tomcat要记得开)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值