配置Nginx 反向代理-通过Nginx 访问tomcat网站

需要实现:

通过配置nginx的反向代理,使访问nginx 服务器(100.100.100.5),自动跳转到tomcat 网站(100.100.100.8),tomcat 网站IP(100.100.100.8)不直接对外暴露!

 

1:部署java环境 #tar xf jdk-8u77-linux-x64.tar.gz  -C /usr/local/
#ln -s /usr/local/jdk1.8.0_77/ /usr/local/java
2:部署tomcat环境 #tar -xf apache-tomcat-9.0.31.tar.gz -C /usr/local/
#ln -s /usr/local/apache-tomcat-9.0.31 /usr/local/tomcat
# cat /etc/profile

################# add java boot###############

JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

#############################################
###############add tomcat boot ##############
CATALINA_HOMEM=/usr/local/tomcat
export CATALINA_HOME

# source /etc/profile

[[email protected] logs]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
[[email protected] logs]#

运行Tomcat:

[[email protected] tomcat]# cd bin/
[[email protected] bin]# pwd
/usr/local/tomcat/bin
[[email protected] bin]# sh startup.sh


[[email protected] bin]# ps -ef|grep tomcat
root      731350       1  0 14:48 pts/3    00:00:05 /usr/lib/jvm/jdk1.8.0_40/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root      735498  721841  0 15:30 pts/3    00:00:00 grep --color=auto tomcat
[[email protected] bin]# 
3:安装nginx  #yum install -y epel-release
#yum install -y nginx 
4:配置nginx 

[[email protected] nginx]# vim nginx.conf
#####增加如下的upstream 后端的tomcat 网站信息####################
    upstream tomcat-web {
         ip_hash;                                                       
         server 100.100.100.8:8080;     

         #server xx.xx.xx.xx   //server 可以是多台!                                     
}
server {
   listen   80;
   server_name  localhost;
   location  /{
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_pass http://tomcat-web;

}
}
[[email protected] nginx]# 

5:验证nginx配置 [[email protected] nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] nginx]#

[[email protected] nginx]# nginx -s reload
[[email protected] nginx]# 
访问nginx 

访问nginx 服务器时 自动跳转到 tomcat 网站:

 

配置Nginx 反向代理-通过Nginx 访问tomcat网站