• Nginx+Tomcat


    以LNMP为例,一个企业内部最基础的架构组成需要一个处理静态Web服务的页面,一个动态Web服务的页面和数据库
    而我们实现了在Linux平台上,实现了Nginx + PHP 实现动静分离,而实际生产中往往一台nginx 需要“对应”多个动态处理的服务(及tomcat),所以如何将前端接收到的动态请求转交给后端多个tomcat处理

    两台tomcat 一台nginx

    nginx 192.168.200.12
    tomcat1 192.168.200.11
    tomcat2 192.168.200.13

    (nginx和tomcat安装参考之前的博客)

    Tomcat1 server 配置

    1. mkdir /usr/local/tomcat/webapps/test
    2. vim /usr/local/tomcat/webapps/test/index.jsp #动态页面的配置
    3. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    4. <html>
    5. <head>
    6. <title>JSP test1 page</title>
    7. </head>
    8. <body>
    9. <% out.println("动态页面 1,http://www.test1.com");%>
    10. </body>
    11. </html>

    1. vim /usr/local/tomcat/conf/server.xml
    2. 删除原host端和valve端
    3. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    4. <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" /> #新增
    5. ---》wq

    1. shutdown.sh
    2. startup.sh

     Tomcat2 server 配置

    1. mkdir /usr/local/tomcat/webapps/test
    2. vim /usr/local/tomcat/webapps/test/index.jsp #动态页面的配置
    3. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    4. <html>
    5. <head>
    6. <title>JSP test2 page</title>
    7. </head>
    8. <body>
    9. <% out.println("动态页面 2,http://www.test2.com");%>
    10. </body>
    11. </html>

    1. vim /usr/local/tomcat/conf/server.xml #修改配置文件
    2. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    3. <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
    4. </Host> #新增

    1. shutdown.sh
    2. startup.sh

     

    Nginx server 配置

    1. #准备静态页面
    2. echo '

      this is static

      '
      > /usr/local/nginx/html/index.html
    3. vim /usr/local/nginx/conf/nginx.conf
    1. #gzip on;
    2. upstream tomcat_server {
    3. server 192.168.200.11:8080 weight=1;
    4. server 192.168.200.13:8080 weight=1;
    5. }
    6. server {
    7. listen 80;
    8. server_name www.lxx.com;
    9. #charset koi8-r;
    10. #access_log logs/host.access.log main;
    11. location ~ .*\.jsp$ {
    12. proxy_pass http://tomcat_server;
    13. proxy_set_header HOST $host;
    14. proxy_set_header X-Real-IP $remote_addr;
    15. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    16. }
    17. location / {
    18. root html;
    19. index index.html index.htm;
    20. }
    21. #error_page 404 /404.html;
    22. # redirect server error pages to the static page /50x.html
    23. #

     测试一哈,同一个ip,一直刷新会两个界面轮换

     

     

  • 相关阅读:
    牛客网字节面试算法刷题记录
    在外出差资料调阅 只需简单三步搞定
    shell脚本 字符串、整数、小数判断
    Abaqus在压力容器的应用
    自学5个月软件测试找到一个8k的工作,我的学习方式值得你借鉴
    Spring源码解析——@Transactional注解的声明式事物介绍
    如何修改 GUI 默认 shader 实现自定义 UI 表现
    数学分析:傅里叶级数
    思维导图-vb.net开发带进度条的复制文件夹功能c#复制文件夹
    模拟问题(下)
  • 原文地址:https://blog.csdn.net/qq_45905840/article/details/126711840