lnmp架构(五)——nginx+tomcat+jdk实现访问动态页面

一、什么是Tomcat

Tomcat 服务器是从Apache开发而来的一个免费的、开源的、轻量级的Web 应用服务器,在中小型系统和并发访问用户不多的场合下被普遍使用,是开发和调试JSP 程序的首选。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

Tomcat服务器是一个免费的开发源代码的WEB应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。其主要的应用场景是解析动态程序代码(Java ) 。JSP程序可以处理Tomcat界面。

1.1 Apache,Nginx和Tomcat的区别

1)Apache

Apache支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。
缺点:配置相对复杂,自身不支持动态页面。
优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态HTML、图片等。
(Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。)

2)Tomcat:

Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
缺点:可以说Tomcat 只能用做java服务器,tomcat接受的最大并发数有限,连接数过多,会导致tomcat处于"僵尸"状态,对后续的连接失去响应,需要结合nginx一起使用
优点:动态解析容器,处理动态请求,是编译JSP/Servlet的容器。

三个端口:

8005:关闭tomcat通信接口
8009:与其他http服务器通信接口,用于http服务器集合
8080:建立http连接 用,如浏览器访问

3)Nginx

缺点:Nginx 只适合静态和反向代理。
优点:负载均衡、反向代理、处理静态文件优势。Nginx 处理静态请求的速度高于Apache。
Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。

Apache和 Nginx用于处理静态资源, tomcat用来处理动态资源。Apache和Nginx相比,Nginx适合做前端服务器,适合做负载均衡。 一般情况下,使用的时候,都是 Apache+Tomcat一起使用或者 Nginx+tomcat一起使用。

参考

1.2 为什么要动静态资源分离

静态资源:指存储在硬盘内的数据,固定的数据,不需要计算的数据。

  • 如:图片、字体、js文件、css文件等等。在用户访问静态资源时,服务器会直接将这些资源返回到用户的计算机内。

动态资源:指需要服务器根据用户的操作所返回的数据,以及存储在数据库的数据,经过一系列逻辑计算后返回的数据。

  • 如:请求日期,时间,明天的天气等等会变动的数据。

二、实现访问动态页面

实验环境

主机(版本:ip) 功用
虚拟机server1(rhel7.3:172.25.16.1) lnmp环境主机
真机(rhel7.3:172.25.16 .250) 测试机

实验原理
当用户访问动态资源时,将访问转到Tomcat应用服务器上,Tomcat将数据返回给Nginx,Nginx再返回给用户。

1、安装jdk和tomcat将其放至/usr/local目录下

tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
tar zxf apache-tomcat-7.0.99.tar.gz -C /usr/local/

2、创建软链接

cd /usr/local
ln -s jdk1.7.0_79/ java
ln -s apache-tomcat-7.0.99/ tomcat

在这里插入图片描述
3、配置java的环境变量并使其生效

vim /etc/profile
写入:
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile		#重新加载配置文件

在这里插入图片描述
验证环境配置是否正确

 echo $PATH
 echo $CLASSPATH  # 类加载路径
 echo $JAVA_HOME  # 命令的路径,不用写绝对路径了)
 which javac      # 编译
 which java       # 运行指令

在这里插入图片描述
4.测试java环境是否配置成功:

cd
vim test.java
写入:
public class test
{
        public static void main(String[] args)
        {
                System.out.println("Hello World");
        }
}

javac test.java		#javac编译.java脚本
java test			#运行脚本

在这里插入图片描述
在这里插入图片描述
5、打开tomcat,并访问。

cd /usr/local/tomcat/
bin/startup.sh 
netstat -antlp	#查看到8080端口开启,说明启动成功

在这里插入图片描述
在这里插入图片描述
6.此时去浏览器访问172.25.2.1:8080
在这里插入图片描述
此时访问172.25.2.1/index.jsp访问不到,是因为openresty开启的80端口
在这里插入图片描述
7、编辑openresty的配置文件并重启服务,这个实验的配置文件是在上一个实验的配置文件的基础上修改的

[root@server1 tomcat] cd /usr/local/openresty/nginx/conf/
[root@server1 conf] vim nginx.conf 
 72         location ~ \.jsp$ {
 73             proxy_pass   http://127.0.0.1:8080;
 74         }
[root@server1 conf] /usr/local/openresty/nginx/sbin/nginx -s reload

此时再去访问172.25.2.1/index.jsp就可以访问到
在这里插入图片描述
但这个页面的动态的jsp效果不明显,所以我们重新编辑测试页。

8、再次编辑测试页

[root@server1 conf]# cd /usr/local/tomcat/webapps/ROOT/
[root@server1 ROOT]# ls
asf-logo.png       bg-nav-item.png  favicon.ico        tomcat.gif        WEB-INF
asf-logo-wide.gif  bg-nav.png       index.jsp          tomcat.png
bg-button.png      bg-upper.png     RELEASE-NOTES.txt  tomcat-power.gif
bg-middle.png      build.xml        tomcat.css         tomcat.svg
[root@server1 ROOT]# vim test.jsp
server1-The time is: <%=new java.util.Date() %>

在这里插入图片描述
当我们再次访问时,时间会一直变化,实现了访问动态页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了184 篇原创文章 · 获赞 7 · 访问量 3622

猜你喜欢

转载自blog.csdn.net/weixin_43936969/article/details/104706949
今日推荐