设为首页 收藏本站
查看: 1164|回复: 0

[经验分享] 部署Tomcat 及 nginx+tomcat负载均衡

[复制链接]

尚未签到

发表于 2018-11-30 11:00:30 | 显示全部楼层 |阅读模式
  案例:部署Tomcat
  案例前置知识点
1)、Tomcat简介:开源项目,属于Apache软件基金会,是处理Java代码的免费产品。
2)、应用场景:Tomcat一款免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型
系统和并发量不高的场合下普遍舒勇,是开发和调试JSP程序的首选。Tomcat和nginx、Apache一
样都是处理静态页面的,但是其性能远不如nginx、Apache,所以常常被放到后端被调用使用。
  案例环境
————————————————————————————————————————
|   主机|     操作系统                    |   IP地址                    |           主要软件                              |
————————————————————————————————————————
|  Tomcat服务器 |  centos7.4x86_64     |   192.168.10.40   |   apache-tomcat-8.5.16.tar.gz  |
  案例实施
1、实施准备
修改主机名
[root@localhost ~]# vi /etc/hostname
tomcat
:wq
[root@localhost ~]# reboot
关闭防火墙
[root@tomcat ~]# systemctl stop firewalld
在安装Tomcat之前必须先安装JDK。JDK是Java语言的软件开发工具包,其中包含Java虚拟机(JVM)
,编写好的Java源码程序经过编译可形成Java字节码,只要安装了JDK,就可利用JVM解析这些字节
码文件从而保证Java的跨平台性。
  查看JDK是否安装-我这里已经安装了,如果没有安装可以自行下载安装
[root@tomcat ~]# java -version
openjdk version "1.8.0131"
OpenJDK Runtime Environment (build 1.8.0131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
安装Tomcat
1、解压源码包
[root@tomcat ~]# tar zxvf apache-tomcat-8.5.16.tar.gz
2、将解压出来的文件夹移动到/usr/local/路径下,并改名为:tomcat8
[root@tomcat ~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8
3、启动和关闭tomcat
[root@tomcat ~]# /usr/local/tomcat8/bin/startup.sh          ##启动(如想关闭tomcat则使用“shutdown.sh”)
Using CATALINABASE:   /usr/local/tomcat8
Using CATALINAHOME:   /usr/local/tomcat8
Using CATALINATMPDIR: /usr/local/tomcat8/temp
Using JREHOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
tomcat默认运行在8080端口上,使用netstatus命令查看8080端口监听状态
[root@tomcat ~]# netstat -anpt | grep 8080
\tcp6       0      0 :::8080                 :::                    LISTEN      1501/java
4、打开浏览器访问测试:http://192168.10.40:8080成功打开页面表示已经启动成功
  Tomcat配置相关说明
Tomcat主目录为/usr/local/tomcat8/
1、主要目录说明
[root@tomcat ~]# ls -l /usr/local/tomcat8/
总用量 92
drwxr-x--- 2 root root  4096 10月  4 22:04 bin
drwx------ 3 root root   254 10月  4 22:07 conf
drwxr-x--- 2 root root  4096 10月  4 22:04 lib
drwxr-x--- 2 root root   197 10月  4 22:07 logs
drwxr-x--- 2 root root    30 10月  4 22:04 temp
drwxr-x--- 7 root root    81 6月  22 2017 webapps
drwxr-x--- 3 root root    22 10月  4 22:07 work
|---bin/:存放Windows或Linux平台上启动和关闭tomcat的脚本文件
|---conf/:存放tomcat服务器的各种全局配置文件,其中做重要的是server.xml和web.xml.web
|---lib/:存放tomcat运行需要的库文件(JARS)
|---logs:存放tomcat执行时的LOG文件
|---webapps:tomcat的主要web发布目录(包括应用程序示例)
|---work:存放JSP编译后产生的class文件
2、配置文件说明
[root@tomcat ~]# ls -l /usr/local/tomcat8/conf/
总用量 224
drwxr-x--- 3 root root     23 10月  4 22:07 Catalina
-rw------- 1 root root  13816 6月  22 2017 catalina.policy               ##权限控制配置文件
-rw------- 1 root root   7376 6月  22 2017 catalina.properties           ##tomcat属性配置文件
-rw------- 1 root root   1338 6月  22 2017 context.xml                   ##上下文配置文件
-rw------- 1 root root   1149 6月  22 2017 jaspic-providers.xml
-rw------- 1 root root   2358 6月  22 2017 jaspic-providers.xsd
-rw------- 1 root root   3622 6月  22 2017 logging.properties            ##日志log相关配置文件
-rw------- 1 root root   7511 6月  22 2017 server.xml                    ##主配置文件
-rw------- 1 root root   2164 6月  22 2017 tomcat-users.xml              ##管理用户配置文件(tomcat安装后提供一个manager-gui的管理界面)
-rw------- 1 root root   2633 6月  22 2017 tomcat-users.xsd
-rw------- 1 root root 168251 6月  22 2017 web.xml                       ##Tomcat的servlet、servlet-mapping、filter、MIME等相关配置。
Tomcat主配置文件说明
sever.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口、网站目录、
虚拟主机、开启https 等重要功能。
整个sever.xml 由以下结构构成: 、、 、、、
、、、和.
  以下是默认安装后sever.xml 文件的部分内容,其中内的内容是注释信息,黑色斜体部分
是我们需要注意和需要经常更改的部分。
见书中--93P
  tomcat server组成部分说明
1)、server
server元素代表了整个Catalina的servlet容器
2)、Service
service是这样一个集合,它由一个或者多个Connector以及一个Ergine(负责处理所有Connector所获
得的客户请求)组成。
3)、Connector
一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Ergine处获得
回应并返回客户。
4)、Engine
Engine下可以配置多个虚拟主机Virtual Host.每个虚拟主机都有一个域名.
Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理.Engine有一
个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理。
5)、Host
Host代表一个Vintual Host。即虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配。
每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context.有一个
Context path。
6)、Context
一个Context对应于一个Web Apiaian一个Web Application由一个或者多个servlet组成
  建立Java的web站点
1)、在根目录下建立一个web目录,并在里面创建一个webapp1目录,用于存放网页文件
[root@tomcat ~]# mkdir -p /web/webapp1
2)、在webapp1目录下创建一个index.jsp的测试页面
[root@tomcat ~]# vim /web/webapp1/index.jsp
[root@tomcat ~]# more /web/webapp1/index.jsp



JSP test1 page





6)启动tomcat,浏览器访问Tomcat2 server,测试http://192.168.10.50:8080
  2、nginx服务器配置
在nginx服务器192.168.10.20上安装nginx,反向代理两个tomcat站点,并实现负载均衡
1)关闭防火墙
2)安装相应的软件包
[root@localhost ~]# yum install -y pcre-devel zlib-devel openssl-devel
3)解压并安装nginx
[root@localhost ~]# groupadd www
[root@localhost ~]# useradd -g www www -s /bin/false
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
[root@localhost nginx-1.12.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
--prefix=/usr/local/nginx                       ##指定安装路径
--user=www --group=www                          ##指定运行的用户和组
--with-file-aio                                 ##启用文件修改支持
--with-http_stub_status_module                  ##启用状态统计
--with-http_gzip_static_module                  ##启用gzip静态压缩
--with-http_flv_module                          ##启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_ssl_module                          ##启用ssl模块
[root@localhost nginx-1.12.0]# make && make install         
3)配置nginx.conf
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
1、在http{....}中加入以下代码,设定负载均衡的服务器列表,weight参数表示权重,
权重越高被分配的概率就越大,为了使测试效果比较明显,这里吧权重设置为一样
大概在33行下面加上就可以
34     upstream tomcat_server {
35         server 192.168.10.40:8080 weight=1;
36         server 192.168.10.50:8080 weight=1;
37         }
2、在http{....}-server{....}-location / {....}中加入一行"proxy_pass   http://tomcat_server;"
大概在47行下面
47         location / {
48             root   html;
49             index  index.html index.htm;
50             proxy_pass   http://tomcat_server;
51         }
4)测试nginx配置文件是否正确   
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  5)启动nginx服务
[root@localhost ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  6)查看nginx服务进程
[root@localhost nginx-1.12.0]# ps aux | grep nginx
root       6511  0.0  0.1  45896  1128 ?        Ss   02:15   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www        6512  0.0  0.1  48420  1984 ?        S    02:15   0:00 nginx: worker process
root       6522  0.0  0.0 112676   984 pts/0    R+   02:16   0:00 grep --color=auto nginx
  7)查看端口号及PID进程号
[root@localhost nginx-1.12.0]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6511/nginx: master
  3、测试负载均衡效果
1)打开浏览器访问:http://192.168.10.20
2)不断刷新页面,查看页面变化,页面内容交替显示,则说明负载均衡集群搭建成功。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641525-1-1.html 上篇帖子: Tomcat5.5链接Oracle、DB2、MySQL数据源实现JSP下拉框的填充 下篇帖子: logstash解析tomcat的catalina.out日志字段
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表