nginx的反向代理实例2
发布日期:2021-06-29 00:58:38 浏览次数:2 分类:技术文章

本文共 2659 字,大约阅读时间需要 8 分钟。

0. 实现效果

通过请求访问不同路径的url实现不同的跳转功能。

例如:访问: 会跳转到 。而访问: 会跳转到 。

1. 准备工作

1.1 启动两台不同端口的tomcat,此处使用docker启动

docker run -d -p 8001:8080 --name tomcat01 tomcatdocker run -d -p 8002:8080 --name tomcat02 tomcat

1.2 在docker容器内部分别创建两个项目,edu和vod。并编写简单的html文件用于之后访问测试

# 进入第一个tomcat容器并创建edu项目docker exec -it tomcat01 bashcd webappsmkdir educd edutouch test.htmlecho "

8001 tomcat

" > test.htmlexit# 进入第二个tomcat容器并创建vod项目docker exec -it tomcat02 bashcd webappsmkdir vodcd vodtouch test.htmlecho "

8002 tomcat

" > test.htmlexit

1.3 在本地浏览器测试访问两个tomcat,查看是否可以正常访问

http://62.234.149.220:8001/edu/test.htmlhttp://62.234.149.220:8002/vod/test.html

1.4 通过docker创建nginx,并启动

docker run -d -p 80:80 --name mynginx nginx

1.5 通过网页查看是否可以正常访问nginx

http://62.234.149.220

2. 具体配置

2.1 进入nginx的docker容器,并更新下载vim用于编辑文件

docker exec -it mynginx bashapt-get update apt-get install vim

2.2 配置nginx,实现反向代理,访问不同的路径跳转到不同的tomcat

  • 进入配置的目录
cd /etc/nginxvim nginx.conf
  • 修改配置文件
#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    # another virtual host using mix of IP-, name-, and port-based configuration    ##########################################################    server {        listen       80;        server_name  62.234.149.220;        location ~ /edu/ {           proxy_pass http://62.234.149.220:8001;        }                location ~ /vod/ {           proxy_pass http://62.234.149.220:8002;        }    }    ##########################################################    # HTTPS server    #    #server {    #    listen       443 ssl;    #    server_name  localhost;    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;    #    ssl_session_cache    shared:SSL:1m;    #    ssl_session_timeout  5m;    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers  on;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}}
  • 退出容器后,重启nginx的docker容器
docker restart mynginx

2.3 在本地浏览器测试

http://62.234.149.220/edu/test.html =>  http://62.234.149.220:8001/edu/test.htmlhttp://62.234.149.220/vod/test.html =>  http://62.234.149.220:8002/vod/test.html

转载地址:https://blog.csdn.net/yorickjun/article/details/116645805 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:web3js脚本编写
下一篇:09基于Config的配置中心

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月23日 17时19分45秒