概念

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。
同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

反向代理为何叫反向代理?

作用

  1. 提高了内部服务器的安全(将反向代理作为公网访问地址,Web服务器是内网)
  2. 加快了对内部服务器的访问速度
  3. 节约了有限的IP资源

nginx使用

安装jdk

1. 下载jdk文件

官网或者华为镜像网站

2. 将文件上传到linux并解压

1
2
cd /usr/local/java
tar -zxvf jdk-8u201-linux-x64.tar.gz

3. 配置环境变量

打开配置文件

1
vim /etc/profile

在文件尾部配置

1
2
3
4
5
6
7
# jdk1.8.0_201

JAVA_HOME=/usr/local/java/jdk1.8.0_201
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

重新加载配置文件

1
source /etc/guaprofile

4. 检查是否安装成功

1
java -version

安装tomcat

1. 官网下载Linux版本

2. 上传文件并解压

1
2
cd /usr/local/
tar -zxvf apache-tomcat-9.0.7.tar.gz

3. tomcat配置环境变量

打开配置文件

1
vim /etc/profile

添加配置

1
2
3
4
# Tomcat9

CATALINA_HOME=/usr/local/tomcat9
export CATALINA_HOME

重新加载文件

1
source /etc/profile

5. 配置catalina.sh文件

1
2
3
4
5
6
7
# 进入配置文件夹
cd $CATALINA_HOME/bin
# 打开文件
vim catalina.sh
# 在# OS specific support后添加配置
CATALINA_HOME=/usr/local/tomcat9
JAVA_HOME=/usr/local/java/jdk1.8.0_201

6. 启动tomcat

1
/usr/local/tomcat9/bin/startup.sh

Tomcat设为自启

参考linux设置Redis开机自启

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# service内容
[Unit]
Description=tomcat
After=network.target

[Service]
Type=forking
TimeoutSec=0
ExecStart=/usr/local/tomcat9/bin/startup.sh
ExecReload=/usr/local/tomcat9/bin/startup.sh -s reload
ExecStop=/usr/local/tomcat9/bin/startup.sh -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Nginx绑定Tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 打开nginx.conf文件,增加如下配置

# 在#gzip on后配置upstream节点,这里节点名为“tomcat”
upstream tomcat{
# tomcatIP地址,权重为1
server 192.168.184.135:8080 weight=1;
}

server{
listen 80;
server_name localhost;
location / {
#指定反向代理为上面配置的那个upstream节点“tomcat”
proxy_pass http://tomcat;
proxy_redirect default;
#设置超时时间
proxy_connect_timeout 10;

root html;
index index.html index.htm;
}
}

测试是否配置成功

1
2
3
4
#测试配置文件修改是否正常
/usr/local/nginx/nginx -t
#重新加载
/usr/local/nginx/nginx -s reload

配置完成

参考