负载均衡Tomcat+Nginx

    部署Tomcat 及负载均衡(Nginx+Tomcat)

Tomcat简介
Tomat是由Sun的软件构架师詹姆斯.邓肯.戴维森开发。(开源)
Sun贡献给Apache软件基金会。
应用场景
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型的并发访问用户不是很多场合下去普遍使用,是开发和调试JSP程序的首选。Tomcat虽然和Apache或者Nginx这些Web服务器一样。具有处理HTML页面的功能 ,但是处理静态HTML的能力远不及Apache,Nginx。所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
实施部署
安装准备两个包:
JDK:java语言的软件开发工具包。编写好的java源程序经过编译可形成java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件。保证java的跨平台性
Jdk-7u65-linux-x64.gz
Tomcat:apache-tomcat-7.0.54.tar.gz
java –version 查寻本机是否安装了 jdk安装了可以直接用。
解压
tar zxvf jdk-7u65-linux-x64.gz
移动目录
mv jdk1.7.0_65 /usr/src/java
在/etc/profile.d/下建立java.sh脚本,内容如下
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
将java.sh导入环境变量,使其生效
source /etc/profile.d/java.sh
运行java-version查看java版本是不是和安装的一样
安装Tomcat
解压
tar zxvf acache-tomcat-7.0.54.tar.gz
移动文件夹
mv acache-tomcat-7.0.54 /usr/local/tomcat7
启动tomcat
/usr/local/tomcat7/bin/startup.sh
Tomcat默认运行在8080端口,运行netstat命令查看8080端口接听信息
netstat –anpt | grep 8080
打开浏览器就测试 http://127.0.0.1:8080就可以出现Tomcat的界面了
Tomcat目录说明
Bin :存放windows或者linux平台上启动和关闭的tomcat的脚本文件】
Conf:存放tomcat服务器的各种全局配置文件,其中最重要的是server.xml 和web.xml。
Lib:存放tomcat运行需要的库文件
Logs:存放tomcat执行时的log文件
Webapps:tomcat的主要web发布陌路
Work:存放jsp编译产生的class文件
Catalina.policy:权限控制配置文件
Catalina.properties:tomcat属性配置文件
Context.xml:上下文配置文件
Loggin.properties:日志log相关文件
Server.xml:主配置文件
Tomcat-users.xml:manager-gui管理用户配置文件(tomcat安装后提供一个manager-gui的管理界面,通过该文件配置可以开启访问)
Web.xml:tomcat的servlet。Servlet-mapping,filter,MIME等相关配置
Tomcat主配置文件说明/usr/local/tomcat7/conf/server.xml
本章主要认识一下字段

Server port=”8005” shutdown=”SHUTDOWN”– Security listener. Documentation at /docs/config/listeners.html
//tomcat关闭端口默认只对本地地址开放,可以在本机通过telent 127.0.0.1 8005该端口 对tomcat进行关闭操作
Connector port=”8080” protocol=”HTTP/1.1” connectionTimeout=”20000” redirectPort=”8443”– A “Connector” using the shared thread pool
//tomcat启动的默认端口8080 可以根据需要进行更改
Define an AJP 1.3 Connector on port 8009 Connector port=”8009” protocol=”AJP/1.3” redirectPort=”8443”/ An Engine represents the entry point (within Catalina) that processes
//tomcat启动AJP 1.3连接器默认的端口号,可以根据需要进行更改
//定义tomcat定义虚拟主机时的配置及日志文件
<Host name=”localhost” appBase=”webapps” unpackWARs=”true” autoDeploy=”true”>></Context`>`
Tomcat Server的组成部分说明
Server
Server元素代表了整个Catalina的servlet的容器
Service
Service是一个集合,它是由一个或者多个Connecto,以及一个Egine,负责处理所有所有Connector所获 的客户请求
3 Connector
一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户
Tomcat有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其他WebServer的请求
Coyote Http/1.1Connector 在端口8080处侦听来自客户browser的http请求
Coyote JK2 Connector 在端口8009处侦听来自其他WebServer(Apache)的servlet/jsp的代理请求
4 Engine
Engine 下可以配置多个虚拟主机 Virtual Host 每个虚拟主机都有一个域名。
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给Host来处理。Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给给默认Host来处理。
5 Host
代表一个Virtual Host,虚拟主机,每个虚拟主机和某个网络域名Domain Name 相匹配 每个虚拟主机下都可以部署(deploy)一个或者多个 Web App ,每个Web App对应于一个Context,有一个Context path
当Host 获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法“最长匹配”,所以一个path==“”的Context将成为该Host的默认Context所有无法和其他Context的路径名匹配的请求都将最终和该默认Context匹配。
Context
一个Context对应于一个Web Application, 一个Web Application 由一个或者多个Servlet组成
建立java的Web站点
首选在根目录下建立一个web目录,并在里面建立一个webapp1目录 用于存放于网站文件
mkdir -pv /web/webapp1
在webapp1目录下建立一个index.jsp的测试页面
vim /web/webapp1/index.jsp内容为tomcat1
tomcat 1
修改Tomcat的server.xml文件
定义一个虚拟主机,并将其网站文件路径指向以及建立的/web/webapp1 在host段增加context段
vim /usr/local/tomcat7/conf/server.xml
《Host name=”localhost” appBase=”webapps” unpackWARs=”true” autoDeploy=”true”》《Context docBase=”/web/webapp1” path=”” reloadable=”fales”》《/Context》
//docBase:web文档基准目录 reloadable:设置监视”类“是否变化
//path=““设置默认”类“
关闭Tomcat 再重新启动
/usr/local/tomcat7/bin/shutdown.sh //关闭
/usr/local/tomcat7/bin/startup.sh //开启
通过浏览器访问http://127.0.0.1:8080出现
tomcat 1

Nginx +Tomcat 负载均衡
一般,一台tomcat站点由于可能出现单点故障既无法应付客户过多复杂的要求,不能独立于应用于生产环境下。所以我们需要一套更可靠的解决方案来完善web站点的构架。这就需要nginx的高性能 和强大的静态资源处理能力作为后端网站程序的反向代理及负载均衡服务器,来提高整个站点和并并发。
Tomcat的安装和上一样
环境准备
给两台tomcat配置地址
Tomcat 1 192.168.1.50
Tomcat 2 192.168.1.100
测试目录的index.jsp的内容
Tomcat 1:tomcat 1
Tomcat 2 :tomcat 2
Nginx的ip地址
Nginx 192.168.1.150
开始安装nginx
安装相关包
yum –y install pcre-devel zlib-devel openssl-devel
创建nginx组和用户
groupadd www
useradd –g www www –s /bin/false
tar zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure –prefix=/usr/local/nginx –user=www –group=www –with-file-aio –with-http_stub_status_module –with-http_gzip_static_module –with-http_flv_module –with-http_ssl_module
//–user ,–group 指定运行组和用户
//–with-file-aio 启用文件修改支持
//–with-http_stub_status_module 启用状态统计
// –with-http_gzip_static_module 启用gzip静态压缩
//–with-http_flv_module 启用flv模块,提供寻求内存使用基于时间的偏移量文件
//–with-http_ssl_module 启用ssl模块
make && make install
优化一下路径
ln –s /usr/local/nginx/sbin/nginx /usr/local/sbin
配置nginx.conf
在http{}中加入 负载均衡的服务器列表 weight参数代表权值 权值越高被分配的概率就越大 为了效果明显我们把权值设置成一样的
upstream tomcat_server {
server 192.168.1.50:8080 weight=1;
` server 192.168.1.100:8080 weight=1;
}
然后在http{}里的server{}里的location{}里面中加入
proxy_pass http://tomcat_server;
利用以上方式吧Nginx的默认站点通过proxy_pass方法代理设定好tomcat_server负载均衡服务器上
测试一下文件
nginx –t
显示ok后就启用
nginx
开始测试
打开浏览器访问 nginx服务器 http://192.168.1.150
不断的刷新浏览器 会发现因为权值一样的关系页面来回切换
Tomcat 1
Tomcat 2
如果不了解nginx 就查看为的博客有lnmp的文章里面有详细内容。

你可能感兴趣的:(初级,tomcat,nginx,负载均衡)