tomcat基础-如何给Tomcat前端加反向代理服务器

Tomcat可以做为反向代理服务器的组件有很多,例如使用nginx,如果使用nginx,Tomcat就只能使用http连接器,另外一种是apache。如果是使用httpd,Tomcat两种连接器都能发挥作用,例如可以使用http连接器,也可以使用ajp连接器,

在Tomcat前端加反向代理服务器,在同一台主机上构建nginx

[root@tomcat ~]# yum install nginx

Installed:

nginx.x86_64 1:1.12.2-1.el7

 

 

配置nginx能够把请求反代给Tomcat,两种方式

  1. 把所有请求都反代过去,无论是静态还是动态,这不是一种理想的方式
  2. 可以把jsp

java所写的代码,一般有两种资源后缀,.do,另外一种是.jsp,假如运行在Tomcat之上,因此去匹配请求的URL后缀,而后,只把do 和 jsp 结尾的反代给Tomcat,而静态的,都由自己进行处理

 

假设动静资源都放在一起了,先说一个主机,动静资源都在一起,都在/usr/share/tomcat/webapps/目录下,nginx的根路径也应该指向/usr/share/tomcat/webapps/,假如说主站是在/root目录下,在nginx上还需要专门加一个location,或者是把根直接指向/root目录,也可以

 

修改nginx配置文件

[root@tomcat /etc/nginx]# vim nginx.conf

server {

listen       80 default_server;

listen       [::]:80 default_server;

server_name  _;

root        /usr/share/tomcat/webapps/ROOT/;

 

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

 

location / {

}

 

 location ~* \.(jsp|do)$ {

                proxy_pass http://127.0.0.1:8080;

        }

 

因为nginx自己不会去找ROOT,所以需要写上

 

127.0.0.1:8080; 使用localhost上的虚拟主机进行请求响应,或者使用本机的IP地址也是一样的,使用本机的IP,也是localhost进行响应的,除非是使用server1才会由后端server1上的虚拟主机进行响应。如果地址写的是server1:8080,那么nginx所在的机器效可以解析server1才可以,否则无法完成代理

 

 

启动服务

[root@tomcat /etc/nginx]# systemctl restart nginx

 

[root@tomcat /etc/nginx]# ss -ntl

State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port

LISTEN     0      128                  :::80                               :::*

LISTEN     0      100                  :::8080                             :::*

LISTEN     0      100                  :::8009                             :::*

 

访问测试

[root@server2 ~]# curl 192.168.111.101

<html>

<head><title>403 Forbidden</title></head>

 

注意:对方的默认资源页面是index.jsp

在nginx上配置的时候,没表明.jsp的文件可以当做默认主页面,所以就把index.html请求到后端去了,后端主机就没有

修改配置文件进行适配

[root@tomcat ~]# vim /etc/nginx/nginx.conf

server {

listen       80 default_server;

listen       [::]:80 default_server;

server_name  _;

root        /usr/share/tomcat/webapps/ROOT/;

index   index.jsp index.html;

 

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

 

location / {

}

 

location ~* \.(jsp|do)$ {

proxy_pass http://127.0.0.1:8080;

}

 

重新加载配置文件

[root@tomcat ~]# nginx -s reload

 

访问测试

[root@server2 ~]# curl 192.168.111.101 -I

HTTP/1.1 200 OK

Server: nginx/1.12.2

 

 

点击主页面上的Manager按钮无法跳转过去,因为nginx去找ROOT目录下的host-manager/html文件去了

 

location需要单独定义,和每个应用程序,在nginx上直接进行代理而且有多个应用,每一个应用都需要单独定义一个location,而且对于manager资源,页面文件还是在html目录下,所以location要定义好,指到manager还不够,还需要指定heml,因为默认资源时静态的,叫做index.html,而且是放在manager目录中的。还需要额外添加location。好在,像这种manager,一般也不应该在前端服务网关代理

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92691

赞 (2)
无言胜千言无言胜千言
上一篇 2018-03-18 22:28
下一篇 2018-03-19 10:47

相关推荐

  • 生产环境模拟实现keepalived+Nginx调度器+httpd的高可用集群

    具体过程是用Nginx做负载均衡,可以将Nginx和主机放在同一台机子上,也可以分开放置,只不过分开的话要指明RS是Nginx的主机地址。至于直接将虚拟地址配置在Nginx主机上我暂时还未成功 下面附上我的双主模型的主keepalived服务器的配置 ! Configuration File for keepalive…

    Linux干货 2016-11-11
  • Linux文件管理及bash脚本特性

    马哥教育网络班23期+第2周课程练习 Linux文件管理及bash脚本特性 概述,经过前三天的学习,想必我们已经对Linux 有了一个初步的了解,接下来这讲我们要讲述一下Linux至关重要的文件管理和bash脚本特性等知识要点 一、Linux 文件管理 1.1 原理概述   文件管理对于Linux系统来说至关重要,因为Linux 的哲学思想就是一切…

    Linux干货 2016-09-19
  • 马哥教育网络班19期+第7周课程练习

    1.创建一个10G分区,并格式为ext4文件系统:   (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;   (2)挂载至/data/mydata目录,要求挂载时禁止程序自行运行,且不更新文件的访问时间戳;   fdisk /dev/sdb    part…

    Linux干货 2016-06-22
  • sed和vim

    1、如何设置tab缩进为4个字符? vi .vimrc //编辑用户家目录下的vim配置文件 set tabstop=4 2、复制/etc/rc.d/init.d/functions文件至/tmp 目录;替换/tmp/functions 文件中的/etc/sysconfig/init 为/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干货 2016-08-10
  • 关于TCP/IP与OSI模型基础学习

    关于TCP/IP与OSI模型基础学习 §·OSI七层模型介绍 OSI(Open system interconnection 开放系统互联),七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的…

    Linux干货 2016-09-05
  • GOPS 2016全球运维大会 • 北京站

    GOPS 2016全球运维大会 • 北京站已经圆满落幕,最新GOPS大会推荐:GOPS2017全球运维大会 • 深圳站 基本信息: GOPS2017全球运维大会 • 深圳站 时间:2017-04-21 08:00:00 至 2017-04-22 18:00:00结束 地点:深圳    会议规模:5000人 会议详情:http://www.…

    Linux干货 2016-11-03