LNMP架构(3)——Tomcat(jsp)简介配置以及nginx +jsp+ tomcat实现客户端的动态请求、负载均衡和反向代理
lnmp架构工作的整个过程1.什么是tomcat?Tomcat是一个中间件,真正起作用的,解析java脚本的是jdk jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开
lnmp架构工作的整个过程
1.什么是tomcat?
Tomcat是一个中间件,真正起作用的,解析java脚本的是jdk jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库
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。
二、配置tomcat并实现功能
2.1下载tomcat和jdk包
解压包
配置
cd /usr/local/进入指定的解压目录
ls查看
ln -s jdk1.7.0_79 java #给jdk做个软连接
ln -s apache-tomcat-7.0.37 tomcat #给tomcat服务做一个软连接
2.2 配置java环境变量
[root@server1 local]# vim /etc/profile #在环境变量当中加入java命令
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile ##加载环境变量使其生效
java -version查看java的版本
2.3 配置tomcat
cd tomcat/进入tomcat这个服务的配置目录
ls
cd logs/这个日志很重要
ls
cd webapps/发布目录
ls
cd ROOT/发布的东西
ls
cd /usr/local/tomcat/
cd bin/
ls
./startup.sh 执行脚本开启tomcat服务
netstat -ntlp,默认开启8080端口
在浏览器里面输入192.168.0.11:8080可以访问,因为指定了8080端口,可以直接访问tomcat服务器,实现动态请求
在浏览器里面输入192.168.0.11不可以动态访问,因为openresty默认开启80端口
但是用户不会访问8080端口的,一般都是访问nginx,所以要配置nginx。
三、实现动态求情
3.1 配置nginx
3.2发布tomcat
切换到tomcat的默认发布目录下
测试实现了动态请求
三、负载均衡和反向代理
此实验需要三台虚拟机:
虚拟机名称 ip 作用
server1 172.25.254.1 nginx反向代理服务器
server3 172.25.254.3 tomcat服务器
server4 172.25.254.4 tomcat服务器
server3,4都要安装好tomcat并配置好发布页面,能用网页实现
负载均衡配置和反向代理
[root@server1 ~]# cd /usr/local/openresty/nginx/conf/
[root@server1 conf]# vim nginx.conf
upstream tomcat {
#sticky;
server 172.25.0.3:8080;
server 172.25.0.4:8080;
}
location ~ \.jsp$ {
proxy_pass http://tomcat;
}
测试:
192.168.0.11/test.jsp这是一个动态页面
发现同一个用户注册信息,轮询两个tomcat服务器,这样会造成用户的数据丢失
就像用户填写注册信息没写完遇到轮询那前面写的信息则不存在
因为前面写的肯访问的是tomcat1,后面写的是在tomcat2
nginx负责负载均衡,客户不知道后台是两个服务器在轮询
此时的两个tomcat服务器之间没有任何关系
这样肯定不行,因此要增加粘滞位
更多推荐
所有评论(0)