CentOS 7.4 上如何安装 tomcat 9
本文将详细讲解在 CentOS 7.4 系统上如何安装tomcat 9,tomcat是没有32位和64位之分的。
创建tomcat的安装路径
首先在/usr/local/下建立一个tomcat的文件夹
[root@VM_0_9_centos ~]# cd /usr/local
[root@VM_0_9_centos local]# mkdir tomcat9
[root@VM_0_9_centos local]# cd tomcat9/
[root@VM_0_9_centos tomcat9]# ls
apache-tomcat-9.0.7.tar.gz
[root@VM_0_9_centos tomcat9]#
然后解压缩
[root@VM_0_9_centos tomcat9]# tar -zxvf apache-tomcat-9.0.7.tar.gz
如何查看端口号
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况。
netstat -ntlp //查看当前所有tcp端口∙
netstat -ntulp | grep 80 //查看所有80端口使用情况∙
netstat -an | grep 3306 //查看所有3306端口使用情况∙
修改tomcat的端口号
一般我会把原来的tomcat的8080端口改掉,进入tomcat的conf目录下,编辑server.xml文件.
端口我改成了8888,并添加了一个URIEncoding="UTF-8",修改了server.xml必须重启tomcat.
进入到conf修改server.xml来修改tomcat的端口号.
[root@VM_0_9_centos conf]# vim server.xml

设置Linux的防火墙
之前我已讲过,因为Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开。所以你需要把它的防火墙设
置一下,让它对tomcat的8888端口号放行。
使用 cd ~ 命令切换到当前用户主目录(即root),然后使用如下命令来设置Linux的防火墙,使其对tomcat的8080端口号放
行。
**Centos7.4开启端口方法 **
例如:开放80端口方法如下:
- 添加
# firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
- 重新载入
# firewall-cmd --reload
- 查看
# firewall-cmd --zone=public --query-port=80/tcp
- 删除
# firewall-cmd --zone=public --remove-port=80/tcp --permanent
[root@VM_0_9_centos conf]# cd /
[root@VM_0_9_centos /]# firewall-cmd --zone=public --add-port=8888/tcp --permanent
success
[root@VM_0_9_centos /]# firewall-cmd --reload
success
[root@VM_0_9_centos /]# firewall-cmd --zone=public --list-ports
8088/tcp 8080/tcp 80/tcp 8888/tcp
[root@VM_0_9_centos /]# firewall-cmd --zone=public --query-port=80/tcp
yes
启动tomcat
[root@VM_0_9_centos /]# cd /usr/local/tomcat9/apache-tomcat-9.0.7/bin/
[root@VM_0_9_centos bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat9/apache-tomcat-9.0.7
Using CATALINA_HOME: /usr/local/tomcat9/apache-tomcat-9.0.7
Using CATALINA_TMPDIR: /usr/local/tomcat9/apache-tomcat-9.0.7/temp
Using JRE_HOME: /usr/java/jdk-10.0.2/
Using CLASSPATH: /usr/local/tomcat9/apache-tomcat-9.0.7/bin/bootstrap.jar:/usr/local/tomcat9/
apache-tomcat-9.0.7/bin/tomcat-juli.jar
Tomcat started.
测试tomcat

CentOS 7 使用、打开、关闭、防火墙与端口
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
- 启动一个服务:systemctl start firewalld.service
- 关闭一个服务:systemctl stop firewalld.service
- 重启一个服务:systemctl restart firewalld.service
- 显示一个服务的状态:systemctl status firewalld.service
- 在开机时启用一个服务:systemctl enable firewalld.service
- 在开机时禁用一个服务:systemctl disable firewalld.service
- 查看服务是否开机启动:systemctl is-enabled firewalld.service
- 查看已启动的服务列表:systemctl list-unit-files|grep enabled
- 查看启动失败的服务列表:systemctl --failed
配置firewalld-cmd
- 查看版本: firewall-cmd --version
- 查看帮助: firewall-cmd --help
- 显示状态: firewall-cmd --state
- 查看所有打开的端口: firewall-cmd --zone=public --list-ports
- 更新防火墙规则: firewall-cmd --reload
- 查看区域信息: firewall-cmd --get-active-zones
- 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
- 拒绝所有包:firewall-cmd --panic-on
- 取消拒绝状态: firewall-cmd --panic-off
- 查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
- 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效) - 重新载入
firewall-cmd --reload - 查看
firewall-cmd --zone=public --query-port=80/tcp - 删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
在 CentOS 7 中设置 Tomcat 开机自启动
假设Tomcat的安装路径为/usr/local/tomcat9/apache-tomcat-9.0.7
1、为 tomcat 添加启动参数
catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此在/usr/local/tomcat9/apache-tomcat-9.0.7/bin路径下创建setenv.sh文件,内容如下:
# 在tomcat目录下面的bin目录下面创建setenv.sh文件,
# 因为catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量。
export CATALINA_HOME=/usr/local/tomcat9/apache-tomcat-9.0.7
export CATALINA_BASE=/usr/local/tomcat9/apache-tomcat-9.0.7
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/temp/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

2、编写 tomcat.service 文件
在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
# 在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/java/jdk-10.0.2/"
PIDFile=/usr/local/tomcat9/apache-tomcat-9.0.7/temp/tomcat.pid
ExecStart=/usr/local/tomcat9/apache-tomcat-9.0.7/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

3、将 tomcat 加入服务管理
- 设置权限
chmod 754 tomcat.service
- 启动关闭服务,设置开机启动
# 开机启动
systemctl enable tomcat.service
# 禁止开机启动
systemctl disable tomcat.service
# 启动服务
systemctl start tomcat.service
# 关闭服务
systemctl stop tomcat.service
# 重新启动
systemctl restart tomcat.service
参考资料:
- https://blog.csdn.net/qq_38295166/article/details/78822598
- https://blog.csdn.net/maobois/article/details/80308340
- https://www.cnblogs.com/wangcMove/p/7606051.html
- https://www.cnblogs.com/xdp-gacl/p/4097608.html
- http://blog.csdn.net/yerenyuan_pku/article/details/72635908?locationNum=13&fps=1
CentOS 7.4 上如何安装 tomcat 9的更多相关文章
- CentOS 6.4 系统上如何安装 tomcat 8
CentOS 6.4 系统上如何安装 tomcat 8 本文将详细讲解在Linux系统上如何安装tomcat,tomcat是没有32位和64位之分的. 1.下载tomcat 首先我们肯定要先下载tom ...
- Mac 上 brew 安装Tomcat
首先保证brew命令能够正常使用: 搜索tomcat是否存在:brew search tomcat 安装tomcat:brew install tomcat 检查是否安装成功:catalina -h ...
- 使用 SSH上传安装tomcat
开发步骤: 1.在soft文件夹下上传tomcat 2.[root@localhost soft]# tar -zxvf apache-tomcat-7.0.61.tar.gz //解压安装 ...
- 图解 SSH上传安装tomcat
安装步骤: 1.SSH上传压缩包 2.[root@localhost soft]# tar -zxvf apache-tomcat-7.0.61.tar.gz //解压安装 解压结果 3.[r ...
- (转)CentOS 7.6 上编译安装httpd 2.4.38
原文:https://www.s4lm0x.com/archives/40.html https://www.cnblogs.com/sunshine-H/p/8110608.html----超详细 ...
- CentOS 6.5上MySQL安装部署与入门。
centos 6.5 yum 安装mysql1. 安装软件:yum install -y mysql-server mysql mysql-devel2.启动服务:service mysqld sta ...
- CentOS 6.9上inotify-tools 安装及使用方法
文章目录 [隐藏] 一.检查系统内核版本 三.下载安装(下载有点慢) 四.查看inotify默认参数 五.修改inotify参数 六.创建实时监控脚本 (file 里面放的需要监听的目录) 七:实例操 ...
- 【good】在CentOS 6.x上安装GlusterFS
转发:http://quenywell.com/install-glusterfs-on-centos-6-x/ 本文主要介绍如何在CentOS 6.x上快速安装GlusterFS.GlusterFS ...
- [moka同学摘录]在Centos 6.5下成功安装和配置了vim7.4
来源:https://my.oschina.net/gzyh/blog/266097 资源下载地址: 链接:http://pan.baidu.com/s/1kVuaV5P 密码:xkq9 摘要: ...
随机推荐
- Leetcode 703. 数据流中的第K大元素
1.题目要求 设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器, ...
- python 栈和队列
class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push ...
- 代码Review发现问题
FrmMain.cs中存在问题 1. int i=0 设定为了全局常量且未在类顶部,出现问题时不好查找 i 属于常用临时变量,设定全局变量容易引起混乱 2.定义的全局变量但仅在一处方法中使用,定义全局 ...
- uva 1506 Largest Rectangle in a Histogram
Largest Rectangle in a Histogram http://acm.hdu.edu.cn/showproblem.php?pid=1506 Time Limit: 2000/100 ...
- 51Nod 1082 | 模拟
Input示例 5 4 5 6 7 8 Output示例 30 55 91 91 155 模拟 #include "bits/stdc++.h" using namespace s ...
- 2015/8/26 Python基础(1):基本规则及赋值
Python有如下的基本规则: #后表示注释 \n是行分隔符 \是继续上一行,将过长语句分开 :分号将两个语句连接在一行中 :冒号将代码头和体分开 代码块用缩进块的方式体现 不同缩进深度分隔不同的代码 ...
- Flask从入门到放弃1:路由app.route()
Flask从入门到放弃1: Flask中的路由app.route(): 参考来源:http://python.jobbole.com/80956/ https://www.raspberrypi.or ...
- 【NOIP】提高组2015 跳石头
[算法]二分查找 [题解]最小值最大化问题. 从1..l内二分枚举答案,将每个答案最少移开的石头数与最大移开数m比较. 精简写法学自:https://vijos.org/p/1981/solution ...
- 苹果API常用英语名词---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 苹果API常用英语名词0. indicating 决定1.in order to 以便 ...
- Docker explainations
What does docker run --link mean, what's the usage? link 是在两个contain之间建立一种父子关系,父container中的web,可以得到子 ...