大家好,我是中国码农摘星人。
欢迎分享/收藏/赞/在看!
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应 HTML 页面的访问请求。实际上 Tomcat 是 Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。
自从 SpringBoot 出现,就弱化 Web 容器的配置和管理等方面。SpringBoot 内置了 Tomcat,插拔式的模块设计,具有方便部署及突出微服务的特性。但是 SpringBoot 也是可以开发单体应用的,也同样支持 War 包独立部署 Tomcat。
因此,掌握独立部署 Tomcat 是每一位开发人员的基本功,今天带来《 CentOS 下安装及配置 Tomcat》,欢迎分享/收藏/赞/在看!
欢迎关注我的个人微信公众号:康元路8号!
在 Tomcat 官网下载相应的压缩包到本地,这里下载的是9.0版本
Apache Tomcat
Tomcat 的安装需要依赖 JDK 环境,因此需要检查系统是否安装了 JDK
java -version
没有安装 JDK 的朋友请移步至这篇博客:
CentOS 下安装及配置 JDK
接着在 usr/local 目录下新建 tomcat 目录,使用 sftp 将下载好的压缩包放至该目录下
mkdir /usr/local/tomcat
ls /usr/local
进入 tomcat 目录解压压缩包
cd /usr/local/tomcat
ls
tar -zxvf
ls
Tomcat 目录结构说明:
bin 启动命令目录
conf 配置文件目录
lib 库文件目录
logs 日志文件目录
temp 临时缓存文件
webapps web应用家目录
work 工作缓存目录
输入如下命令,出现 Tomcat started.
表示启动成功
./apache-tomcat-9.0.56/bin/startup.sh
Tomcat 默认端口为:8080,需在服务器防火墙上放行 8080 端口
浏览器输入,出现如下页面表示 Tomcat 安装成功
http://你的IP地址:8080
新建 index.html
,写了一个简单的 HTML 页面
vim ./webapps/ROOT/index.html
浏览器输入地址
http://你的IP地址:8080
Tomcat 默认端口为:8080,可以在 server.xml
修改端口号,
在命令模式下,可以输入 :/8080
快速定位 8080 字符
vim conf/server.xml
vim /etc/init.d/tomcat
脚本文件
#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JAVA_HOME=/usr/local/java/jdk1.8.0_311
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.56
start()
{
if [ -f $TOMCAT_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$TOMCAT_HOME/bin/startup.sh
RETVAL=$?
echo " OK"
return $RETVAL
fi
}
stop()
{
if [ -f $TOMCAT_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$TOMCAT_HOME/bin/shutdown.sh
RETVAL=$?
sleep 1
ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
echo " OK"
# [ $RETVAL -eq 0 ] && rm -f /var/lock/...
return $RETVAL
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
echo $"Restaring Tomcat"
$0 stop
sleep 1
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
chmod +x /etc/init.d/tomcat
将 Shell 脚本的连到 /etc/rc2.d
目录下。
Linux 的 /etc/rc2.d
目录中的数字代表开机启动时不同的守护进程,不能随便连到其他目录下。因为可能在那个目录中的程序启动时 Tomcat 所需要的一些库尚未被加载,用 ln
命令将脚本连接过去。
ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat
把脚本设置成系统启动时自动执行,系统关闭时自动停止
chkconfig --add tomcat
重启服务器,测试 Tomcat 服务状态
reboot
vim /usr/lib/systemd/system/tomcat.service
[unit]配置了服务的描述,规定了在 network 启动之后执行。
[service]配置服务的pid,服务的启动,停止,重启。
[install]配置了使用用户。
[Unit]
Description=tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat-9.0.56/tomcat.pid
ExecStart=/usr/local/tomcat/tomcat-9.0.56/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
source /etc/profile
systemctl daemon-reload
setenv.sh
Tomcat 需要增加一个 pid 文件,在 tomca/bin
目录下面,增加 setenv.sh
配置,catalina.sh 启动的时候会调用,同时配置 Java 内存参数。
vim ./setenv.sh
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
重新启动 Tomcat,即配置成功
systemctl restart tomcat.service