• 页面的动静分离


    动静分离概念:


    访问静态()和动态页面(tomcat)分开静态页面,由nginx提供服务,静态页面由tomcat提供服务。
    实现动态和静态页面负载均衡。

    实验需求:

    1台nginx代理

            192.168.10.10              四层代理

    2台nginx 提供静态页面

            192.168.10.20                     七层代理

            192.168.10.30                     七层代理

    3台tomcat 提供静态页面

            192.168.10.40

            192.168.10.50

    开始配置

    nginx代理         192.168.10.10              四层代理

    1. vim /usr/local/nginx/conf/nginx.conf
    2. 在全局变量中写
    3. stream {
    4. upstream liu {
    5. server 192.168.10.20:80 weight=1;
    6. server 192.168.10.30:80 weight=1;
    7. }
    8. server {
    9. listen 80;
    10. proxy_pass liu;
    11. }
    12. }
    13. 修改http中server 的监听端口
    14. 2、重启nginx服务
    15. systemctl restart nginx

    nginx 提供静态页面

    192.168.10.20                     七层代理

    192.168.10.30                     七层代理

    1. 1、配置nginx的静态·页面
    2. vim /usr/local/nginx/html/index.html
    3. .......
    4. static nginx---1
    5. .......
    6. 2、配置动态页面:将访问的动态页面转发到处理动态页面的tomcat服务器
    7. vim /usr/local/nginx/conf/nginx.conf
    8. 在http下
    9. .......
    10. upstream liu1 {
    11. server 192.168.10.40:8080 weight=1;
    12. server 192.168.10.50:8080 weight=1;
    13. }
    14. .......
    15. 保留原始location,在其下
    16. location ~* \.jsp$ {
    17. proxy_pass http://liu1;
    18. proxy_set_header HOST $host;
    19. proxy_set_header X-Real-IP $remote_addr;
    20. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    21. #在nginx作为代理服务器时,会把所有经过机器的ip以及代理地址ip记录下来
    22. }
    23. .......
    24. 3、重启nginx
    25. systemctl restart nginx

    tomcat 提供静态页面

            192.168.10.40

            192.168.10.50

    1. 1、创建动态页面
    2. mkdir /usr/local/tomcat/webapps/test
    3. vim vim /usr/local/tomcat/webapps/test/index.jsp
    4. ........
    5. tomcat ----1
    6. ........
    7. 2、配置访问动态页面路径
    8. vim /usr/local/tomcat/conf/server.xml
    9. ........
    10. 删掉148 149 164 删掉的是系统默认的访问路径
    11. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    12. <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
    13. </Host>
    14. /usr/local/tomcat/webapps/test 指定访问路径
    15. ........
    16. 3、重启tomcat服务
    17. cd /usr/local/tomcat/bin
    18. ./shutdown.sh 关闭
    19. ./startup.sh 开启

    最终实现结果

    客户端可以通过访问代理服务器192.168.10.10,可以访问通过nginx的服务器20或30的静态页面,如果访问的是动态页面20或30 会转发给tomcat的服务器 40和50

    静态页面

    动态页面

  • 相关阅读:
    【THM】SQL Injection(SQL注入)-初级渗透测试
    【LeetCode】300.最长递增子序列
    Halcon学习---光学字符识别(OCR)
    庆祝创造力和技术:2023年的1024程序员节
    C++用锁实现线程安全的stack容器
    微信小程序结合php后台实现登录授权机制详解
    全局参数校验@Valid的使用方法和写法。
    angular + express 实现websocket通信
    阿袍的思考
    [leetcode] 2530. 执行 K 次操作后的最大分数 M
  • 原文地址:https://blog.csdn.net/qq_61843057/article/details/133901578