tomcat的管理功能,tomcat的日志,ftp服务,测试登陆ftp

tomcat的管理功能

  • 如图,访问tomcat 的默认管理页面
  • 能够看到右边有 三个选项,这三个选项是用来管理tomcat服务器的
  • 可是如今还不可使用,须要先配置一下
  • 首先配置 host manager
  • cd /usr/local/tomcat/conf/
  • vim tomcat-user.xml 编辑配置文件
  • 如图,在 tomcat-users 标签的上面一行插入代码
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat123" roles="admin-script,admin-gui"/>
  • 如图,代码定义了两个 role
  • 还定义了帐号密码
  • 由于 host manager 功能须要用到这两个role
  • 保存退出
  • 而后须要重启 tomcat
  • cd /usr/local/tomcat/bin/
  • 使用命令 ./shutdown.sh 关闭tomcat
  • 而后 ./startup.sh 开启tomcat
  • 这样就算重启了tomcat ,每次修改配置文件都须要这样重启一下tomcat
  • cd /usr/local/tomcat/webapps/host-manager/META-INF/
  • 这个目录里面有一个文件叫作 context.xml
  • 如图,这里能够定义哪一个ip地址能够访问,这里没有定义的ip就不能够访问
  • 如图,在原来的放行名单后面加上 |192.168.64.\d+
  • 由于这里定义的时候可使用正则表达式
  • 正则表达式里面 . 表明任意一个字符
  • 因此要被识别为 . 而不是其它意思的话,前面要加 \ 转义
  • 符号 \d+ 表示1个或多个数字
  • 符号 | 表明或者
  • 加在原来字符的后面表示在原来的通行条件上
  • 加上后面这一段通行条件
  • 也就是 192.168.64.xxx 这个网段的 ip 均可以放行
  • 保存退出,重启 tomcat
  • 如今点击 host manager 按钮
  • 会要求输入帐号密码
  • 帐号密码就是上面配置文件里面定义的帐号密码 tomcat 和 tomcat123
  • 如图,输入帐号密码后,就能够进入这个管理界面
  • 若是不进行上面配置的话,这里就变成 403 了
  • 如图,这个管理页面能够管理tomcat里面的虚拟主机
  • 能够看到 zrblog.com 是以前配置好的虚拟主机
  • 这里若是点击中止,那么这个虚拟主机就会被 tomcat 中止
  • 而后就不能够被访问了,固然,还能够再次点击打开虚拟主机
  • 这样就又能够访问了
  • 还能够在这个页面添加虚拟主机
  • 如图,这里添加 域名,别名,点击添加就能够添加一个虚拟主机
  • 如图,这里添加了一个 bbb 虚拟主机
  • 如图,访问 www.bbb.com 显示 404
  • 这是正确的,由于这个域名下面什么都没有,因此是404
  • 经过这个方法添加的虚拟主机,tomcat重启以后就会消失
  • 由于这种方法添加的虚拟主机并无保存到配置文件里面
  • 可是 web 页面添加的虚拟主机实际上并无消失
  • 因此重复添加同一个域名的虚拟主机是不行的
  • /usr/local/tomcat/conf/Catalina/ 这个目录里面有web页面添加的虚拟主机的目录
  • 如图,cd /usr/local/tomcat/conf/Catalina/ 进入这个目录
  • 能够看到 www.aaa.com 和 www.bbb.com 目录
  • 这两个目录里面就是自动建立的
  • 在 web 页面添加的虚拟主机都会在这里自动建立本身的目录
  • 这么目录是永久存在的,可是添加的虚拟主机重启后就消失了
  • 要解决这个问题
  • cd /usr/local/tomcat/conf/
  • vi server.xml
  • <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  • 上面这段代码添加到 server.xml 里面
  • 如图,代码添加到图中的位置
  • 在 8005 的代码块里面
  • 保存退出,重启 tomcat
  • 如图,从新添加虚拟主机,应用程序库实际上就是网站程序的路径
  • 随便写一个 /data/www.aaa.com/ 路径,而后添加
  • 如图,出现 403 ,看返回的信息,彷佛要用到 manager 的一个配置文件
  • 因此要想实现页面添加虚拟主机,永久保存,还须要使用 manager
  • 因此还要配置一下 manager ,使 manager 可用才行
  • cd /usr/local/tomcat/conf/
  • vim tomcat-user.xml
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>
  • 如图,添加 4个 manager 的role
  • 下面的 user标签里面的 roles 也要加上新添加的 rolename
  • 其实只添加 manager-gui 和 manager-script 也能够
  • 若是遇到提示须要添加后面两个 role 的状况,再加上去也行
  • 保存退出
  • cd /usr/local/tomcat/webapps/manager/META-INF/
  • vi context.xml
  • 如图,添加这一段
  • |192\.168\.64\.\d+
  • 这是容许 192.168.64.xxx 网段的 ip 访问 manager
  • 这里不设置放开的网段的话,就访问不了
  • 这里能够设置容许哪一个 ip 访问,或者哪一类ip访问,可使用正则表达式
  • 保存退出,重启tomcat
  • 如今就能够访问 manager 了,也能够持久化保存新增的 虚拟主机
  • 能够 vi conf/server.xml 查看虚拟主机配置文件
  • 里面会有新增的虚拟主机的信息
  • 如图,新增虚拟主机后,尚未保存到配置文件里面
  • 须要点击下面的 持久化配置 所有 那个按键,才会保存到配置文件里面
  • 保存以后,能够到 server.xml 文件里面查看,新增的虚拟主机信息会写入里面
  • 如图,如今能够访问manager
  • 这里能够看到,webapps 根目录,docs 目录... 等目录
  • 能够对这些目录进行管理
  • 由于这个页面就是 manager 本身,因此在这个页面是不能关闭 manager的
  • 若是在这个页面 stip host-manager
  • 再访问 host-manager 就会变成 404 没法访问了
  • 如图,这里能够指定 war 包的路径进行 war 包部署
  • 下面的功能是在这里上传 war 包,让 tomcat 自动部署

tomcat的日志

  • 如图,cd /usr/local/tomcat/logs/
  • 能够看到目录内的文件
  • 主要是5个类型,catalina , host-manager, localhost, localhost-access, manager
  • host-manager 记录一些 host-manager页面的操做
  • manager日志记录一些 manager页面的操做信息
  • localhost-access 记录访问服务器的信息
  • localhost 记录一些服务器自己的信息
  • catalina.2019-12-16.log 记录的内容跟 catalina.out 是同样的
  • 因此若是要查看最新的 catalina 日志信息
  • 直接看 catalina.out 就好了
  • catalina.out 记录不少信息,包括服务器运行的错误信息,网站运行的错误信息
  • 因此平时查找错误,主要是看 catalina.out 日志
  • 可是 catalina.out 有一个问题
  • 这个文件只会不断的写入,是不会进行日志切割的
  • 因此若是不处理,这个文件会无限变大
  • 实际使用中,应该根据须要,按期把这个文件进行清空
  • 可使用任务计划来按期清空这个文件
  • 任务计划就是,系统能够在你自定义的时间内作事情
  • 使用 crontab -e 回车
  • 就会进入 vi 的界面
  • 而后再里面写要执行的任务,写完保存退出
  • 系统就会按期执行里面的内容
  • 若是格式不正确,就没法保存退出,系统会提示
  • 如图,这就是任务计划的格式
  • 前面 五位 分别是 分时日月周 的意思
  • 这里 0 3 * * * 就是天天 3点 执行的意思
  • 后面3位由于不须要设置,因此就用星号 * 代替
  • 设置了时间,后面就是要执行的命令
  • 如图,还有不一样的写法,能够表明不一样的意义
  • 好比在 时 的位置写 1,2,3 就表示天天的 1点,2点,3点执行
  • 若是想每5分钟执行一次
  • 能够在分的位置写 */5
  • 这个写法就表示,能够整除 5 的分钟数就会执行后面的命令
  • 也就至关于,每5分钟执行一次命令了
  • 0 8-10 * * * 这表示 天天 8点,9点,10点执行后面的命令
  • 周 的位置,表示的是星期几
  • 因此能够写 1-7 表示 星期一 到 星期日
  • 也能够写为 0-6 也表示 星期一 到 星期日
  • 如图,这就是 每5天 清空一次 catalina.out 的任务计划
  • 如图不使用任务计划,也可使用系统的日志切割功能来处理这个日志文件
  • 如图,vim /etc/logrotate.d/tomcat 在这个目录内编辑一个叫作 tomcat 的空文件
  • 如图,空文件内写入图中的内容,保存退出
  • 这样系统的日志切割服务,就会按照文件中设置的参数对catalina.out进行日志切割
  • 图中,daily 表示天天切割,size 16M 表示文件大小超过 16M 就切割日志
  • 可是这两个参数同时存在的时候,以 size 为主
  • 也就是说,这个文件小于 16M 的时候,次日也不会被切割

ftp服务

  • ftp服务能够在两台电脑之间进行上传下载的操做
  • 大公司比较少用,由于ftp协议安全性不够好
  • 可是中小型公司会可能会用到,安全性要求不那么高
  • 并且电脑之间传输文件也很方便
  • 首先安装一个扩展的源
  • yum install -y epel-release
  • 要先安装这个扩展源,才能安装 pure-ftpd 服务
  • 而后 yum install -y pure-ftpd
  • 这里使用的是 pure-ftpd 来提供 ftp 服务
  • vi /etc/pure-ftpd/pure-ftpd.conf 编辑pure-ftpd 的配置文件
  • 如图,配置文件里面这个 MinUID 是定义使用这个服务的用户的最小uid
  • 这里设置的是 1000
  • 意思就是 只有 uid >= 1000 的用户,才可使用这个ftp服务
  • 小于1000的就会报错
  • 出于安全的缘由,uid 小的都是系统用户,权限都比较高
  • 限制uid 大于1000 能够防止权限太大的用户使用ftp服务,增长安全性
  • 如图,找到 PureDB 这一行
  • 把前面的井号 # 去掉,这里井号的做用是注释
  • 前面有井号的行是不起做用的
  • 因此把这一行前面井号去掉,让这一行产生做用
  • PureDB 的做用是指定一个文件路径
  • 之后用户名密码之类的信息就会被保存到这个文件里面
  • 上面的mysql和postgreSQL 也能够设置保存这些信息
  • 可是设置数据库太麻烦,直接用 puredb本身的文件保存就行了,这样最简单
  • 而后保存退出
  • 如图,建立一个用户 ftpuser
  • id ftpuser 查看用户的 uid
  • 能够看到是 1013 大于1000
  • 这样就能够正常使用 ftp 服务,若是小于1000就不能正常使用ftp服务
  • 如图,建立一个测试目录 /data/ftp/
  • 使用这个目录进行文件的传输
  • 而后把这个目录的全部者所属组修改成 ftpuser
  • 由于原本是root建立的,可是 ftpuser要使用这个目录传输文件权限不够
  • 因此修改成 ftpuser ,这样权限就够了
  • 如图,使用这个命令建立一个 ftp服务的虚拟用户 user1
  • user1 并非系统真实存在的用户,可是又须要系统用户权限来进行一些操做
  • 因此这个 user1 须要映射到一个系统真实存在的用户上去
  • ftpuser 就是系统真实存在的用户,这里把user1映射到ftpuser上去
  • 这样user1的权限就等于ftpuser了,后面是指定 /data/ftp/ 目录为文件传输目录
  • 意思就是 user1 使用这个目录进行文件传输
  • 而后回车,下面还要输入两次自定义密码
  • 这样就设置了一个ftp服务内部的 用户名跟密码了
  • 可是如今这个用户名跟密码尚未被保存
  • 如图,还须要使用 pure-pw mkdb 建立保存用户名密码的数据库文件
  • 使用这个命令后,就会建立刚才在配置文件里面指定的路径的文件
  • 也就是 /etc/purt-ftpd/pureftpd.pdb 这个文件
  • 这个文件是 ftp服务本身的文件格式,没法使用 cat 查看
  • 如图,使用 systemctl 启动 ftp 服务
  • netstat 查看监听的端口,这里是 21 端口
  • 因此系统防火墙还须要放开 21 端口,服务才能正常运做
  • 如图,firewall-cmd --add-port=21/tcp --permanent
  • 开放21端口
  • 而后 firewall-cmd --reload 重载配置文件
  • 这样21端口就放开了
  • 这样 ftp服务就能够正常运行了

测试登陆 ftp

  • 如今服务器的 ftp 服务已经装好了
  • 要测试这个 ftp 服务是否正常运转
  • 须要下载一个ftp客户端工具
  • yum install -y lftp
  • 咱们安装的ftp服务是服务端的
  • 因此须要一个客户端才能够测试服务端的ftp是否正常
  • 这个 lftp 就是一个客户端工具,能够模拟客户端与服务端进行交互
  • 如图,安装 lftp以后
  • 使用 lftp user1@127.0.0.1 登陆 user1
  • 口令输入刚才设置的user1密码 123
  • 回车进入 user1 的命令界面
  • 使用 ls 命令查看默认目录里面有什么文件
  • 这个默认目录就是刚才设置的 /data/ftp 目录
  • 能够看到有 . 和 .. 分别表明目录自己和上一级目录
  • 这样就表示 user1 目录正常
  • 如图,使用 exit 退出user1用户界面
  • cd /data/ftp 而后建立 1.txt 文件
  • 使用 echo 输入一些数据进入这个文件
  • 如图,再使用 lftp 登陆 user1 用户
  • 使用 ls 查看,能够看到多了一个 1.txt文件
  • 可是这个文件的全部者跟所属组是 root 用户
  • pureftp 的特色,这里能够看到 ,全部者显示为 uid 数字
  • 所属组则是显示为 文字,也就是具体的所属组,而不是 gid
  • 这样本地命令行测试就算成功了
  • 还须要进行远程测试看是否成功
  • 如图,可使用 fillzilla 做为客户端进行测试
  • 因此,咱们下载 客户端的版本,不要下载服务端的
  • 如图,filezilla 打开的界面
  • 如图,点击这里,设置链接
  • 如图,这里要设置一个新站点
  • 而后右边填写信息
  • ip是服务器的ip地址,端口是 21
  • 用户名是 user1 密码是 123
  • 如图,ftp 分为主动和被动模式,有时候 默认的模式可能没法链接
  • 这里选择 主动模式
  • 如图,选择链接,能够看到链接成功
  • 服务器目录里面的文件 1.txt 也显示出来了
  • 如图,左边选择一个目录 desktop 也就是桌面
  • 右边双击服务器目录里面的 1.txt
  • 这样 1.txt 文件就被下载回来了
  • 如图,能够看到桌面文件已经有 1.txt了
  • 一样的,在左边的文件上面双击,就能够把文件上传到服务器上的目录里
  • 如图,若是出现这个错误
  • 要勾选这里限制并发链接数
  • 端口那里再输入 21

  • 还有另一种传输协议叫作 SFTP
  • 这个协议是使用 ssh 协议进行文件的传输,而不是 ftp协议
  • 因此使用 SFTP 协议传输文件使用的端口是 ssh 服务的 22 端口
  • filezilla 和 xftp 这两个软件均可以使用 SFTP 协议传输文件
  • filezilla 是开源免费的,xftp 和 xshell 是同一个公司的,须要付费使用
  • 如图,新建一个站点 tom02
  • 右边协议,选择 SFTP 协议
  • 主机是服务器 ip ,端口使用 22
  • 下面用户名是 root ,密码就是 root 密码
  • 而后链接
  • 如图,上面方框能够输入任意路径
  • 下面能够显示访问的目录
  • 由于是 root 身份登陆的,因此能够访问服务器内全部的目录
  • 权限很大,因此很是不安全,好处是比较方便
  • 除了使用用户名密码登陆外,也可使用密钥登陆
  • 设置会麻烦一些
相关文章
相关标签/搜索