LNMP架构——nginx+jsp+tomcat完成客户端的动态请求

本文介绍了如何在LNMP架构中,通过nginx作为反向代理,结合jsp和tomcat实现客户端的动态请求。首先定义了tomcat是一个轻量级应用服务器,用于运行java编写的网站。接着讲述了在php和nginx已有缓存的基础上,为tomcat添加缓存的步骤。文章详细描述了实验环境和具体实现过程,包括在服务器上部署和配置tomcat与jdk,以及通过scp命令传输文件完成动态访问index.jsp。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,我先给大家画一张图,来理一下lnmp架构工作的整个过程
在这里插入图片描述
上一个实验其实我们通过php请求的是nginx服务器上的资源,还是静态资源
现在我们想实现动态获取,利用jsp动态获取tomcat服务器上面的资源

1.什么是tomcat?

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目
由Apache、Sun和其他一些公司及个人共同开发而成
Tomcat是一个轻量级应用服务器
java程序写的网站用tomcat+jdk来运行
tomcat是一个中间件,真正起作用的,解析java脚本的是jdk
jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库
最主流的jdk为sun公司发布的jdk,除此之外,其实IBM公司也有发布JDK,CentOS上也可以用yum安装openjdk

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。

2.给php和nginx加上缓存之后,现在来给tomcat前端加上缓存

这里我们使用tomcat这个web服务器(java、jdk)
tomcat这个服务很耗内存,企业当中一般在这个服务的主机上面不运行其他服务
可以查看tomcat.apache.org官网

3.实验环境

这个也是基于上一篇的,因此就不赘述了

4.具体实现过程如下

  • (1)从真机给server1传一个tomcat和jdk的包
先从真机给虚拟机传送一个tomcat和jdk的包
scp apache-tomcat-7.0.37.tar.gz jdk-7u79-linux-x64.tar.gz root@172.25.12.1:/root

在这里插入图片描述

  • (2)在server1上查看并且解压
tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/解压到指定目录下面,这么目录随便
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/

在这里插入图片描述

  • (3)开始配置
cd /usr/local/进入指定的解压目录
ls查看
ln -s apache-tomcat-7.0.37 tomcat给tomcat服务做一个软连接

在这里插入图片描述

cd tomcat/进入tomcat服务的目录
ll查看tomcat目录下的东西

在这里插入图片描述

cd apache-tomcat-7.0.37/
ls查看

在这里插入图片描述

vim /etc/profile在环境变量当中加入java命令
export JAVA_HOME=/usr/local/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile使其生效
java可以tab
java -version查看java的版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd tomcat/进入tomcat这个服务的配置目录
ls
cd logs/这个日志很重要
ls
cd webapps/发布目录
ls
cd ROOT/发布的东西
ls

在这里插入图片描述
在这里插入图片描述

cd /usr/local/tomcat/
cd bin/
ls
./startup.sh 执行脚本开启tomcat服务

在这里插入图片描述

 cd /usr/local/tomcat/logs/
cat manager.2019-07-25.log 
cat host-manager.2019-07-25.log 

在这里插入图片描述

在这里插入图片描述

netstat -antlupe,默认开启8080端口

在这里插入图片描述

在浏览器里面输入172.25.12.1:8080可以访问,因为指定了8080端口,可以直接访问tomcat服务器,实现动态请求
在浏览器里面输入172.25.12.1不可以动态访问,因为openresty默认开启80端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd /usr/local/openresty/
cd /usr/local/openresty/nginx/conf/
vim nginx.conf 里面没有jsp,jsp+tomcat
才实现动态请求,因此单个nginx不可以

在这里插入图片描述
在这里插入图片描述

vim nginx.conf
http {
upstream memcache {
        server localhost:11211;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }
        location /memc {
                internal;
                memc_connect_timeout 100ms;
                memc_send_timeout 100ms;
                memc_read_timeout 100ms;
                set $memc_key $query_string;
                set $memc_exptime 300;
                memc_pass memcache;
        }

        location ~ \.jsp$ {
            proxy_pass   http://127.0.0.1:8080;
        }

        location ~ \.php$ {
            set $key $uri$args;
            srcache_fetch GET /memc $key;
            srcache_store PUT /memc $key;
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
           # fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

172.25.12.1可以访问
172.25.12.1/index.jsp不可以(开启了nginx中的jsp模块,并且默认使用8080端口,这里其实访问的是tomcat下的index.jsp)
../sbin/nginx -s reload重新加载nginx服务
172.25.12.1/index.jsp可以了

在这里插入图片描述
在这里插入图片描述
现在还不可以动态访问index.jsp
从真机给虚拟机传一个图片scp test.jsp root@172.25.8.1:/root
在这里插入图片描述

vim test.jsp 查看

在这里插入图片描述
在这里插入图片描述

mv test.jsp /usr/local/tomcat/webapps/ROOT/将这张测试图片移动到tomcat的默认发布目录下

在这里插入图片描述在这里插入图片描述

cd /usr/local/tomcat/webapps/ROOT/
ls
vim test.jsp

在这里插入图片描述

the time is:<%=new java.util.Date() %>

在这里插入图片描述
在这里插入图片描述

在浏览器里面输入172.25.12.1/test.jsp可以看见动态获取

刷新一次,时间就会变
在这里插入图片描述
在这里插入图片描述
以上就是nginx+jsp+tomcat完成客户端的动态请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值