Linux系统上安装tomcat、在Linux部署Dubbo监控中心monitor

Linux系统上安装tomcat

本文将详细讲解在Linux系统上如何安装tomcat,tomcat是没有32位和64位之分的。

下载tomcat官网地址:http://tomcat.apache.org/whichversion.html
首先我们肯定要先下载tomcat安装程序,我下载的是:
在这里插入图片描述

安装tomcat
上传tomcat的安装文件到Linux

之前我在Linux系统上安装JDK这篇文章中已经详细讲解过如何上传文件到Linux,所以这里我就不再赘述了。
怎样知道我们真的上传上去了呢?在当前用户主目录(即root)下使用ll命令查看一下该目录。

创建tomcat的安装路径

安装tomcat之前,先创建tomcat的安装路径,我打算将tomcat安装在/usr/local/目录下的tomcat目录中,所以我们要在/usr/local/目录下创建一个tomcat目录。
使用cd /usr/local命令切换到local目录,并使用ll命令查看一下该目录。

然后使用mkdir tomcat命令在local目录下创建一个tomcat目录。

创建成功之后使用ll命令查看一下local目录,效果如下:

解压tomcat

使用cd ~命令切换到当前用户主目录(即root)下,然后使用tar -xvf apache-tomcat-7.0.57.tar.gz -C /usr/local/tomcat命令将root目录下的apache-tomcat-7.0.57.tar.gz文件解压到/usr/local/tomcat目录下。
在这里插入图片描述
解压成功之后,使用cd /usr/local/tomcat命令切换到tomcat目录下,然后再使用ll命令查看一下该目录,如下:

然后再使用cd apache-tomcat-7.0.57命令进入到apache-tomcat-7.0.57目录中,使用ll命令查看一下这个目录,就能看到我们非常熟悉的东西了。
在这里插入图片描述

设置Linux的防火墙
之前我已讲过,因为Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开。所以你需要把它的防火墙设置一下,让它对tomcat的8080端口号放行。
使用cd ~命令切换到当前用户主目录(即root),然后使用如下命令来设置Linux的防火墙,使其对tomcat的8080端口号放行。
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables save命令是将这个设置永久地保存到Linux的防火墙中。
在这里插入图片描述

启动tomcat
首先我们切换到/usr/local/tomcat/apache-tomcat-7.0.57/bin目录下,然后使用ll命令查看一下该目录,如下:
接着执行./startup.sh命令,即可启动tomcat。
要关闭tomcat,很简单,只须执行./shutdown.sh命令。
在这里插入图片描述

测试tomcat
先执行./startup.sh命令,启动tomcat。
然后在浏览器中输入url地址——http://虚拟机IP地址:8090进行访问,即可看到tomcat的首页。

在这里插入图片描述
Centos7下启动tomcat无报错页面浏览报错: HTTP ERROR 404Problem accessing /. Reason: NOT_FOUND

问题环境:
使用vm虚拟机下安装Centos7,开启tomcat正常,启动过程中没有报错,但是开启后无法打开tomcat的初始界面:localhost:8080,报错如上图.

原因:
端口号被防火墙拦截/没有被开放.

解决方法:
修改端口号,防火墙开放对应端口号,问题解决。

修改端口号:
假设tomcat所在目录为/usr/local/apache-tomcat/
1、打开tomcat配置文件
#vi /usr/local/apache-tomcat/conf/server.xml
2、打开Tomcat配置文件之后按 /8080 快速检索
3、修改端口,按 i 进行,将8080 修改为 80
4、按:wq 保存并退出
5、 重启tomcat
#/var/apache-tomcat/bin/shutdown.sh
#/var/apache-tomcat/bin/startup.sh

改端口号以后,成功解决问题

如何测试:
在这里插入图片描述
或者在linux的命令行中输入curl http://localhost:80 或 wget http://localhost:80

查看Tomcat进程
ps aux | grep tomcat
在这里插入图片描述
查看端口号
net stat -apn|grep 80
在这里插入图片描述

关闭Linux防火墙,就可以访问成功
查看防火墙状态,如果是dead状态,即防火墙未开启systemctl status firewalld.service
关闭防火墙systemctl stop firewalld.service
开启或重启防火墙systemctl start firewalld.service. systemctl restart firewalld.service
最好不要关闭防火墙做,不安全!!!
在防火墙中单独开放8080端口
输入以下命令:
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8080/tcp
在这里插入图片描述

设置服务开机启动
因为centos7使用了systemd来管理服务,所以按以下步骤来设置
1、vi /etc/systemd/system/tomcat.service
编辑内容:
[unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
ExecStart=/opt/apache-tomcat-8.5.8/bin/startup.sh
ExecStop=/opt/apache-tomcat-8.5.8/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
2、将tomcat设为开机启动:
systemctl enable tomcat
3、启动tomcat:
systemctl start tomcat
4、查询当前tomcat的状态
systemctl status tomcat
说明当前的tomcat处于运行中,并且是开机启动
5、关闭tomcat:
systemctl stop tomcat
最后,关机,重启linux,直接远程访问tomcat即可。

还有一种情况容易被忽视:tomcat,webapps目录下没有ROOT文件夹!
有经验的人看到这个可能会淡淡的一笑。但对于不知道tomcat启动,输入http://localhost:8080默认进入的是$tomcat/webapps/ROOT路径的人来说,很容易就忽视这个问题。

总结;
Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld。所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld。更多关于CentOs防火墙的最新内容,请参考Redhat官网。
一、iptables
1.打开/关闭/重启防火墙
开启防火墙(重启后永久生效):chkconfig iptables on
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restartd
2.查看打开的端口
/etc/init.d/iptables status
3.打开某个端口(以8080为例)
(1)开启端口
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
(2)保存并重启防火墙
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
4.打开49152~65534之间的端口
iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
同样,这里需要对设置进行保存,并重启防火墙。
5.其他打开方式
我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下
vi /etc/sysconfig/iptables
然后在文件中增加一行
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
参数说明:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
二、firewalld
Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。
1.启动防火墙
systemctl start firewalld
2.禁用防火墙
systemctl stop firewalld
3.设置开机启动
systemctl enable firewalld
4.停止并禁用开机启动
sytemctl disable firewalld
5.重启防火墙
firewall-cmd --reload
6.查看状态
systemctl status firewalld或者 firewall-cmd --state
7.查看版本
firewall-cmd --version
8.查看帮助
firewall-cmd --help
9.查看区域信息
firewall-cmd --get-active-zones
10.查看指定接口所属区域信息
firewall-cmd --get-zone-of-interface=eth0
11.拒绝所有包
firewall-cmd --panic-on
12.取消拒绝状态
firewall-cmd --panic-off
13.查看是否拒绝
firewall-cmd --query-panic
14.将接口添加到区域(默认接口都在public)
firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)
15.设置默认接口区域
firewall-cmd --set-default-zone=public(立即生效,无需重启)
16.更新防火墙规则
firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)
17.查看指定区域所有打开的端口
firewall-cmd --zone=public --list-ports
18.在指定区域打开端口(记得重启防火墙)
firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)
说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

Dubbo监控中心monitor

一:简要概括
Dubbo是 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。

关于dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就OK了,但是光有这几个并不能看到有哪些消费者和提供者,所以为了更好的调试和监控、发现问题、解决问题,因此引入dubbo-admin。通过dubbo-admin来对消费者和提供者进行管理。

二:下载与配置

关于dubbo-admin的下载,可以直接点击下载,也可以去官网下载源码:https://github.com/alibaba/dubbo
如果是下载源码会下载下来一个dubbo-admin的文件夹

截止目前dubbo更新到2.6.2这个版本,与之前的老版本稍稍有点点区别。注意:dubbo-2.6.1以后的版本不再有dubbo-admin
dubbo的中文官方网站:http://dubbo.apache.org/#!/?lang=zh-cn
dubbo的英文官方网站:http://dubbo.apache.org/#!/?lang=en-us
Dubbo 版本历史:https://github.com/apache/incubator-dubbo/releases
Dubbo admin 新地址:https://github.com/apache/incubator-dubbo-ops/
探究过程中发现大多关于“配置dubbo-admin的管理页面”文中提到的下载Dubbo的源码地址https://github.com/alibaba/dubbo已经不在是目标地址了,已经从我们想当然的阿里转到了阿帕奇了,我们访问该链接地址最后在地址栏中展示的为https://github.com/apache/incubator-dubbo

方式一、虽然已经换为Apache了,但是还是可以下载到以前的那个版本的,那就是直接切换版本到 2.5.x然后在下载到本地,如下图:
在这里插入图片描述
访问 https://github.com/apache/incubator-dubbo/releases,找到2.5.8版本,下载Source code(zip)

方式二、可以在其他GitHub地址下载到,例如:https://github.com/dangdangdotcom/dubbox
在这里插入图片描述

其实下面所谓配置的目的就是为了得到war包,war包网上也有,但是下载了很多下来都会有问题,原因可能是每个人的电脑jdk版本或其他环境不一样,所以可以自己打包一个war就好。

解压incubator-dubbo-dubbo-2.6.0.zip, 进入dubbo-admin 目录

打包war包,进入dubbo-admin这个文件目录 运行命令: mvn package -Dmaven.test.skip=true

ERROR [com.alibaba.dubbo.rpc.filter.ExceptionFilter:invoke] - [DUBBO] Got unchecked and undeclared exception which called by 192.168.173.1. service: com.alibaba.dubbo.rpc.protocol.dubbo.ImplicitCallBackTest$IDemoService, method: get, exception: java.lang.RuntimeException: request persion id is :2, dubbo version: 2.5.8, current host: 192.168.173.1
java.lang.RuntimeException: request persion id is :2
在这里插入图片描述

发现自己只是进入了dubbo目录而没有进入dubbo-admin目录,白痴错误!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包成功之后,就会发现dubbo-admin下多了个target文件夹,打开target文件夹,发现里面有个war包
在这里插入图片描述

三:安装dubbo-admin
1、上传dubbo war包文件到linux

2、部署监控中心:
然后把这个war包拷贝到tomcat下的webapp下,然后启动tomcat自动解压dubbo-admin的war包(如果想tomcat默认启动页面就是dubbo-admin的页面只需修改dubbo-admin项目名称为ROOT,并且删除之前的ROOT或者更改名称即可!)
复制dubbo-admin-2.6.0war包 到tomcat/webapps/下
使用cp dubbo-admin-2.5.4.war /usr/local/tomcat/apache-tomcat-7.0.57/webapps/dubbo-admin.war命令把dubbo-admin-2.5.4.war复制到apache-tomcat-7.0.57的webapps目录下并更名为dubbo-admin.war
启动tomcat,解压war包(如果tomcat处启动状态,先关闭,再启动)
启动tomcat,可以通过 tail -f logs/catalina.out 查看是否启动成功,此步非必须
在这里插入图片描述

3、访问https://虚拟机地址:端口/dubbo-admin-2.6.0/
用户名:root
密码:root
重命名为dubbo-admin.war的话,启动后访问localhost:8080/dubbo-admin打开。若需要修改zookeeper注册中心地址,在WEB-INF下修改dubbo.properties配置即可。
以下是dubbo admin的默认密码:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

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

注意
如果监控中心和注册中心在同一台服务器上,可以不需要任何配置。
如果不在同一台服务器,需要修改配置文件:
在目录/usr/local/tomcat/apache-tomcat-8.5.30/webapps/dubbo-admin-2.6.0/WEB-INF下的配置dubbo.properties,修改帐号密码,以及注册信息

这是dubbo监控中心和zookeeper注册中心在一台虚拟机上的情况,我们不用配置便可以使用,那如果zookeeper注册中心和dubbo监控中心不在一台设备上怎么办呢?其实我们只需要修改一下配置文件便可以了。那么该配置文件在哪呢?我们可使用cd /usr/local/tomcat/apache-tomcat-7.0.57/webapps/dubbo-admin/WEB-INF命令切换到dubbo-admin/WEB-INF目录下,然后使用ll命令查看一下该目录,就能找到我们要修改的配置文件了。
在这里插入图片描述
然后我们使用命令vim dubbo.properties打开该文件,如下图所示,我们可以看到当前默认的注册地址是127.0.0.1也就是当前这台设备上,如果是别的设备那么就换成那台设备的IP就可以了。我们还可以修改登录密码。
在这里插入图片描述
补充知识点,假如我们想知道某个端口比如8080端口被哪个进程占用,以及如何杀掉某个指定进程可以使用如下所示命令进行操作。
在这里插入图片描述

四:运行
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值