共计 1778 个字符,预计需要花费 5 分钟才能阅读完成。
在实际生产中,Tomcat 服务器一般不单独使用在项目中,对于静态资源的响应 Nginx 表现的比较好,另外由于 nginx 是专门用于反向代理的服务器,所以很容易实现将 Java 的请求转发到后端交给 tomcat 容器处理,而本身用来处理静态资源。
在 Nginx 中,一个 server {}块往往用来配置一个比较大的项目,一般就是对于一个域名的所有配置,一个 server 块内一般有多个 location 来定义多个请求规则,比如域名和根目录配置,静态资源支持,php fastcgi 请求,url 重写,错误页面配置等多种配置,所以 nginx 代理 tomcat 和前面的转发 php-fpm 一样,就是将请求转发到后端的动态模块去处理该请求
下面在 server 中简单配置一个 location 局部规则,将指定的 nginx 请求转发至 tomcat 容器
假设 tomcat 已经正常运行,端口号为 8080,首先使用 vim 编辑 nginx.conf 配置文件,比如:vim /usr/local/nginx/nginx.conf
然后在 server {}块最后,补充下面的内容:
location ^~ /tomcat/ {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
因为上面配置了 php-fpm 的支持,所以这里使用 /tomcat/ 请求来确定是否转发到 tomcat 容器,前面的 ^~ 就是匹配任意的域名或者 IP 地址部分,所以当访问 http://ip/tomcat 这样的请求时,那么 tomcat 容器就会起作用,和访问 http://ip:8080 效果是一样的,包括容器下的项目都是完全一样的
保存之后,重新载入 nginx 配置文件:/usr/local/nginx/nginx -s reload
当然这里的 location 可以配置好多个,从而代理到多个服务器上的 tomcat,也可以自由配置多个 server {}块,代理到多个服务器,这之间都是根据自己的需要灵活配置的,另外加上静态资源规则等配置,可以实现强大的功能,比如配置负载均衡,实现网站的高并发访问以及图片服务器的资源共享等等。
下面关于 Nginx 的文章您也可能喜欢,不妨参考下:
CentOS 7.2 下编译安装 PHP7.0.10+MySQL5.7.14+Nginx1.10.1 http://www.linuxidc.com/Linux/2016-09/134804.htm
Nginx 实现集群的负载均衡配置过程详解 http://www.linuxidc.com/Linux/2017-02/140549.htm
Nginx 高级应用 – 负载均衡与 rewrite 规则 http://www.linuxidc.com/Linux/2017-02/140476.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
Nginx 的 500,502,504 错误解决方法 http://www.linuxidc.com/Linux/2015-03/115507.htm
CentOS 7 编译安装 Nginx1.10.2 脚本启动失败解决思路 http://www.linuxidc.com/Linux/2017-01/139794.htm
Nginx 简单实现网站的负载均衡 http://www.linuxidc.com/Linux/2017-02/140351.htm
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141983.htm