Nginx系列-4 nginx 配置实例-反向代理

4.1反向代理实例前提

java jdk安装

image-20210305171916335
image-20210305171920978
image-20210305171926033
export JAVA_HOME=/usr/local/java/jdk1.8.0_281

export PATH=\$PATH:\$JAVA_HOME/bin

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

export JRE_HOME=\$JAVA_HOME/jre

注意:其中 JAVA_HOMEJRE_HOME 请根据自己的实际安装路径及 JDK 版本配置。

修改/etc/profile之后让其生效

. /etc/profile 

(注意 . 之后应有一个空格)

image-20210305171244476
image-20210305171254507

tomcat安装

image-20210305171317885
image-20210305171323965
image-20210305171330575

参考链接:https://www.cnblogs.com/li150dan/p/12535067.html

4.2反向代理实例一

实现效果:使用 nginx 反向代理,访问 www.123.com 直接跳转到 127.0.0.1:8080

image-20210305171342505

linux服务器同时运行两个或多个tomcat

参考链接:linux服务器同时运行两个或多个tomcat

4.3反向代理实验代码

  1. 启动一个 tomcat,使用curl指令请求,出现代码返回成功
curl 127.0.0.1:8080
image-20210305171353061
  1. 通过修改本地 host 文件,将 www.123.com 映射到 121.37.164.246(远程服务器ip)
121.37.164.246 www.123.com
image-20210305171359746

配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat 初始界面。那么如何只需要输入 www.123.com 便可以跳转到 Tomcat 初始界面呢?便用到 nginx 的反向代理。

  1. 在 nginx.conf 配置文件中增加如下配置
image-20210305171406623

4.3 反向代理实例二

实现效果:使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中 nginx 监听端口为 9001。

访问 http://121.37.164.246:9001/edu/ 直接跳转到 127.0.0.1:8081

访问 http://121.37.164.246:9001/vod/ 直接跳转到 127.0.0.1:8082

4.3.1 实验代码

第一步,准备两个 tomcat,一个 8001 端口,一个 8002 端口,并准备好测试的页面(并放到tomcat webapps下)

第二步,修改 nginx 的配置文件

在 http 块中添加 server{}

server {
 listen       9001;
 # 远程ip地址
 server_name  121.37.164.246;
 location ~ /edu/ {
 proxy_pass http://127.0.0.1:8080;
 }
 location ~ /vod/ {
 proxy_pass http://127.0.0.1:8081;
 }
 } 

第三步,重新启动nginx

在/usr/local/nginx/sbin 目录下执行

./nginx -s reload

第四步,测试

效果:

(1)访问vod,效果为

image-20210305171418151

(2)访问:edu,效果为

image-20210305171422538

location 指令说明

该指令用于匹配 URL。

语法如下:

image-20210305171428769

1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

2、~:用于表示 uri 包含正则表达式,并且区分大小写。

3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。

4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。

注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

下篇更新第5章nginx 配置实例-负载均衡

感兴趣的话点点关注,我们一起成长进步。

你可能感兴趣的:(Nginx系列-4 nginx 配置实例-反向代理)