Nginx配置实例学习笔记——反向代理

Nginx 配置实例

反向代理

实例一

1.1 实现效果

打开浏览器,输入地址,跳转到Linux系统tomcat主页面中

1.2 准备工作

1.在Linux系统安装tomcat,使用默认端口8080
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
	* tomcat 安装文件放到Linux系统中,解压
	* 进入到tomcat的bin目录下  ./startup.sh 启动tomcat服务器

2.对外开放访问的端口
	firewall-cmd --add-port=8080/tcp --permanent
	firewall-cmd -reload

3.通过浏览器访问 tomcat 服务器
	ip地址:8080
  • 注意:

Nginx配置实例学习笔记——反向代理_第1张图片

需要Java 8 以上的环境

java -version	//查看是否有满足的环境

具体安装可参考腾讯官方文档,https://cloud.tencent.com/document/product/436/10865

JDK:
https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1588781477_202c3b780a2d68656039dc8c4070802f

1.3 访问过程

Nginx配置实例学习笔记——反向代理_第2张图片

1.4 具体配置

  1. 若在本地虚拟机进行实验,需修改host文件,进行域名与IP对应关系配置

    若使用云服务器,则需要在DNS解析器上进行相关配置

  2. 在 nginx 中进行请求转发的配置(反向代理)

    cd /usr/local/nginx/conf
    
    vim nginx.conf
    

Nginx配置实例学习笔记——反向代理_第3张图片


接下来在浏览器中输入ip,即可获得由tomcat出品的精美页面

实例二

2.1 实现效果

使用 nginx 反向代理,根据访问路径跳转到不同端口的服务中

Nginx配置实例学习笔记——反向代理_第4张图片

2.2.2 准备工作

  1. 准备两个 tomcat 服务器,一个 8081 端口,一个 8082 端口

在这里插入图片描述

  1. 准备文件夹和测试页面

Nginx配置实例学习笔记——反向代理_第5张图片




	Welcome to EDU Page


	

8081!!!!


2.3 具体配置

  • location指令说明

    location [ = | ~ | ~* | *~ ] url{
    	
    	}
    
    • = 用于不含正则表达式的 url 前,要去请求字符串与 url 严格匹配

    • ~ 用于表示 url 包含正则表达式,区分大小写

    • ~* 用于表示 url 包含正则表达式,不区分大小写

    • *~ 用于不含正则表达式的 url 之前,要求 nginx 服务器找到标识 url 和请求字符串匹配度最高度的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 url 和请求字符串做匹配

  1. 在 nginx 中进行请求转发的配置(反向代理)

    先把上个实验的tomcat给停掉

    ps -ef | grep tomcat
    

Nginx配置实例学习笔记——反向代理_第6张图片

kill -9 28210

修改 tomcat 端口号

cd /usr/local/tomacat/tomcat_8081/apache-tomcat-9.0.34/conf
vim server.xml

cd /usr/local/tomacat/tomcat_8082/apache-tomcat-9.0.34/conf
vim server.xml

在这里插入图片描述

启动 tomcat

cd /usr/local/tomacat/tomcat_8081/apache-tomcat-9.0.34/bin
./startup.sh

cd /usr/local/tomacat/tomcat_8082/apache-tomcat-9.0.34/bin
./startup.sh

开放对外访问端口号

* 查看目前开放的端口

  ```
  firewall-cmd --list-all
  ```
  • 打开 8081 8082 端口

    firewall-cmd --add-port=8081/tcp
    firewall-cmd --add-port=8082/tcp
    
  • 通过浏览器看下是否成功
    Nginx配置实例学习笔记——反向代理_第7张图片
    是的,可以了!!!

  1. 进行核心配置

    cd /usr/local/nginx/conf
    
    vim nginx.conf
    

    添加如下:

    server {
            listen 9001;
            server_name 140.143.169.28;
    
            location ~ /edu/ {
                    proxy_pass http://140.143.169.28:8081;
            }
    
            location ~ /ftp/ {
                    proxy_pass http://140.143.169.28:8082;
            }
    }
    
    

    重新加载 nginx

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

2.4 测试结果

Nginx配置实例学习笔记——反向代理_第8张图片
Nginx配置实例学习笔记——反向代理_第9张图片

你可能感兴趣的:(Nginx)