ngnix配置反向代理
下图是我们要设计的服务器集群结构,所有的请求都经过Nginx,如果是静态资源的请求,则直接访问Ngnix的本地磁盘(或者NAS),其余的动态资源请求均由Nginx转发到后端服务器。
OpenResty安装
Nginx官网提供源码,选择想要加载的模块,下载后需要手动编译。如果要增删模块,需要在编译阶段指定,比较复杂。推荐直接使用OpenResty框架,该框架已经将Nginx和LuaJIT的相关配置打包,且集成了大部分Nginx常用特性,比如反向代理、Redis等。
参考官网文档:
https://openresty.org/en/installation.html
按上述文档操作后,OpenResty会安装在/usr/local/openresty目录下。该目录下nginx/conf目录存放Ngnix的所有配置;ngnix/html目录放置Ngnix的html文件。
启动nginx
在/usr/local/openresty/nginx目录下,执行
sbin/nginx -c conf/nginx.conf
默认是后台加载启动的方式,会启动在conf/nginx.conf指定的端口。此时就可以通过浏览器访问了,可以看到Welcome to OpenResty页面。
按照我们之前的架构部署,当请求静态资源时,路由到本地磁盘路径;其余的所有请求都使用动态代理,访问后端server。
部署前端资源
打包前端资源上传到服务器。进入nginx目录下的html下,然后新建resources目录用于存放前端静态资源。
默认配置中,Ngnix会将所有路径的访问都转发到html路径。我们需要修改conf/nginx.conf,设置指向resources目录下的location可以访问对应的html下的静态资源文件。
将server中
location / {root html;index index.html index.htm
}
修改为
location /resources/ {alias /usr/local/openresty/nginx/html/resources/;index index.html index.htm
}
至此,我们的静态资源访问可以指向Ngnix对应的路径。
配置反向代理
修改conf/nginx.conf,设置upstream server,指定后端服务器的地址。
我的两台服务器地址分别为172.22.97.43、172.22.97.42。weight代表权重,我现在配置的轮循比例为1:1。
upstream backend_server {server 172.22.97.43 weight=1;server 172.22.97.42 weight=1;
}
刚才我们指定了静态资源的路由路径,除此之外所有请求我们都当做动态资源,在server中增加
location / {proxy_pass http://backend_server;proxy_set_header Host $http_host:$proxy_port;proxy_set_header X-Real_IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
开启tomcat access log
为了确保Nginx确实访问到了后端server,我们可以查看后端server的Tomcat日志。只需要在SpringBoot项目的配置文件中添加相关配置。在线上环境中,修改外挂配置文件即可。
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=/var/www/project/tomcat ## 你的项目目录中新增/tomcat
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
需要注意的配置
- 前端接入的超时时间一般需要大于反响代理的服务超时时间,因为数据流是通过nginx转发,若前端超时时间小于后端超时时间则会出现后端服务还未超时,前端就超时的情况。
- 配置长连接keepalive以解决网络建连的问题,提高路由性能。
ngnix配置反向代理相关推荐
- vue脚手架解决跨域问题-------配置反向代理
vue脚手架解决跨域问题-------配置反向代理 参考文章: (1)vue脚手架解决跨域问题-------配置反向代理 (2)https://www.cnblogs.com/zbx-boke/p/9 ...
- deepin配置反向代理映射本地到公网
这里我是用的小米球的免费ngrok 相信deepin的新用户在配置反向代理时,会感觉到一脸茫然,因为一开始我也是这样,但经过短暂的了解了deepin后,发现,其实与在Debian上配置并没有什么区别 ...
- 在IIS7中应用Application Request Routing配置反向代理
配置反向代理软件.zip 开启Proxy项: 该设置表面只有HTTP_HOST为phpweb.leven.com.cn的URL才能通过该规则,如果您绑定了多个域名,可以根据多次增加或者通过正则表达式的 ...
- 用IIS配置反向代理
https://natapp.cn/ http://blog.csdn.net/g2321514568/article/details/12406755 目标服务器:targetServer 配置反向 ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- apache 反向代理_通过 Apache 与 Nginx 配置 AJP 配置反向代理
↑ 点击上面 "时代Java"关注我们, 关注新技术,学习新知识! 前言 目前,随着公有云的出现,一些大型的服务提供商将很多的基础服务以公有云的形式发布出来,而企业则可以使用这些基 ...
- 【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理
上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老 ...
- nginx配置反向代理和负载均衡完结篇
具体安装配置参考之前的文章 https://blog.csdn.net/weixin_44001965/article/details/102723855 文章目录 一,nginx操作的常用命令 ng ...
- Nginx1.6.2版本安装遇到的坑以及配置反向代理
Nginx1.6.2版本安装遇到的坑以及配置反向代理 本文基于https://www.runoob.com/linux/nginx-install-setup.html教程进行安装,安装过程中和使用中 ...
最新文章
- TOP命令 %Cpu(s)解读 CPU状态信息us,sy,ni,id,wa,hi,si,st含义
- @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值
- AI可以在游戏里称霸,但是解决现实问题太难了
- 如何利用数据仓库优化数据分析?
- Web应用渗透测试框架Arachni
- IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的......
- moxy json介绍_MOXy的对象图和动态JAXB
- linux内核启动流程x86,linux内核-x86_32位内核启动流程
- 【读书笔记】2_增强学习中的Q-Learning
- 启动web项目卡在Initializing Spring root WebApplicationContext不动
- 芝加哥大学终身教授:自然科学与社会科学的真正区别
- 10 EDA技术实用教程【时序电路Verilog设计1】
- 第十届蓝桥杯B组C/C++省赛编程题题目及答案解析
- web of science,SSCI索引,带你入门!
- Linux下载安装Binutils工具集
- 手机IMSI号码编码规则表
- 2020 年软件设计师考试上午真题
- 计算机管理下的打印机参数设置,提高办公效率 11种方法设置打印参数
- 图像表格实线和虚线检测
- 关于符号Symbol第二篇
热门文章
- 字体过多导致样式变形
- 4am永远 鼠标按键设置_4AM称霸PCL和PEL,绝地求生与和平精英的双端冠军
- (翻译)心理定格(Framing)
- 计算机毕业设计JavaSEOUL设计师品牌代购商城(源码+系统+mysql数据库+lw文档)
- msdn library january 2001 下载审明
- 安卓Camera2悬浮窗录像
- 计算机专业看重CPU还是显卡,电脑是CPU重要还是显卡重要? 你选择对了吗?
- 用户头像上传之 jQuery+ajax+php+预处理
- 遥感地物光谱知识整理
- 【GO语言学习】使用GO语言输出Emoji表情