nginx反向代理tomcat

Posted 青玉案元夕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx反向代理tomcat相关的知识,希望对你有一定的参考价值。

反向代理 给我个人的感觉是一个cache的缓存服务,当你去访问一个网站的时候,如果有资源就返回,没有资源nginx会向身后的web服务发起请求,这个来说nginx做这块来说,一般用于中小的网站。说到这里肯定有人在想有没有类似nginx的cache缓存服务呢,当然是有的比如,Varnish和Squid这两个,Varnish可以实现可视化,性能比Squid强大,但是Squid有更多的实战经验,资料更加详细。

这里我介绍的是生产中常见的nginx反向代理tomcat

实验是一台Centos 7 在一台是上安装nginx + tomcat 端口分别是80 8080

1 安装nginx

安装需要编译的包

yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y

解压nginx  放入/usr/local/nginx目录里

tar zxf nginx-1.11.2.tar.gz

进入解压完的目录 nginx-1.11.2.tar.gz

编译检测安装

./configure --prefix=/usr/local/nginx && make && make install

nginx安装完成

启动nginx

/usr/local/nginx/sbin/nginx 

2 安装tomcat

 /usr/local/java/ 创建jdktomcat目录

分别把jdk和tomcat传进去

解压jdk

配置环境变量路径

 

 vi /etc/profile  #在最后加入

#set java environment

export JAVA_HOME=/usr/local/java/jdk/jdk1.8.0_144       #jdk路径

export JRE_HOME=/usr/local/java/jdk/jdk1.8.0_144/jre     #jdk路径

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

生成环境变量

 source /etc/profile

验证

java -version

安装tomcat

 /usr/local/java/tomcat

tar -xvf apache-tomcat-8.5.23.tar.gz

进入bin 编辑setclasspath.sh

 

添加两句配置

 

export JAVA_HOME=/usr/local/java/jdk/jdk1.8.0_144    #Jjdk路径

 

export JRE_HOME=/usr/local/java/jdk/jdk1.8.0_144/jre   #jdk路径

在bin目录里

 

./startup.sh

输入ip:8080 查看是否有页面

3 配置反向代理   成功的话访问ip 应该是出来的是tomcat的页面,不应该是nginx,现在访问一次出来的nginx的页面。

进入nginx的配置文件 nginx.conf

在http字段里加入

upstream lxstest{
server 192.168.0.107:8080;
}

这里8080是tomcat的端口

location / {
root html;
index index.html index.htm;
proxy_pass http://lxstest;
}

在server字段里加入这行

保存退出

检查nginx的配置文件是否有错

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

没错后重启

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

访问ip 出来的应该是Tomcat的页面,说明配置成功

 

 

 

此时反向代理已经配置成功

点一杯喜欢的奶茶

 

以上是关于nginx反向代理tomcat的主要内容,如果未能解决你的问题,请参考以下文章

nginx反向代理多个tomcat服务

nginx反向代理tomcat8和php7(四)

技术干货Nginx配置反向代理

tomcat 配置nginx 反向代理

使用nginx反向代理tomcat集群

使用nginx反向代理一个ip下的多个tomcat