马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Tomcat 是 Apache 下的 Servlet 容器,实现了 Servlet / JSP 规范,同时也带了一些 Web 服务器的能力(管理控制台、安全域、Valve 等)。简单说,它就是让你写的 Web 应用「变成能被浏览器访问的网页」的托管平台。这篇在 CentOS 上从零走一遍:装 JDK、配环境变量、建 tomcat 用户、解压部署、放通 8080、启动验证。
一、环境准备
Tomcat 10 及以上要求 JDK 8 或更高版本。先确认系统版本:
cat /etc/centos-release
uname -m
建议把 JDK 和 Tomcat 统一装到一个固定目录,比如 /export/server,后续升级只换软链接指向,运维脚本不用改路径。
二、装 JDK
- 到 Oracle 官网或 OpenJDK 镜像下 Linux 版安装包(
.tar.gz 或 .rpm),登录 Oracle 账号才能下;
- 用 FinalShell 之类的 SSH 工具上传:终端里直接输
rz 弹窗选文件,rz 不可用就直接在 root 会话里把包拖进窗口;
- 建目录
mkdir -p /export/server;
- 解压:rpm 包用
rpm -ivh 包名.rpm,tar.gz 用 tar -zxvf jdk-xxx_linux-x64_bin.tar.gz -C /export/server;
- 看一下实际版本号(
ls /export/server),为它建一个软链接,方便日后升级:ln -s /export/server/jdk-21.0.x /export/server/jdk;
- 进到软链接目录下配环境变量,编辑
/etc/profile 末行:
export JAVA_HOME=/export/server/jdk
export PATH=$PATH JAVA_HOME/bin
source /etc/profile
java -version
如果系统里还有别的 java(比如 /usr/bin/java)会冲突,删掉旧链接再指向新的:ln -s /export/server/jdk/bin/java /usr/bin/java。
三、建 tomcat 用户
Tomcat 不建议用 root 跑:8080 端口放行后,任何应用在上传文件、执行脚本时都会拿着 root 权限。建一个专用用户:
useradd tomcat
后续所有解压、启动都切到这个用户(su - tomcat)。
四、部署 Tomcat
- 到 Tomcat 官网下
.tar.gz 压缩包(10.x / 11.x 按你的 Servlet 规范选),上传;
tar -zxvf apache-tomcat-10.1.x.tar.gz -C /export/server/;
- 同样建软链接:
ln -s /export/server/apache-tomcat-10.1.x /export/server/tomcat;
- 改属主:
chown -R tomcat:tomcat tomcat、chown -R tomcat:tomcat apache-tomcat-10.1.x;
- 放通防火墙。Tomcat 默认 8080:
systemctl stop firewalld # 测试环境图省事可以直接关
systemctl disable firewalld # 关掉开机自启
生产环境更推荐 firewall-cmd --add-port=8080/tcp --permanent 再 reload,只开这一个端口。
五、启动
切到 tomcat 用户,进 /export/server/tomcat/bin,执行:
sh startup.sh
tail -f ../logs/catalina.out
浏览器访问 http://服务器IP:8080,出现 Tomcat 欢迎页即成功。再用 netstat -anp | grep 8080 或 ss -lntp | grep 8080 确认端口确实在监听。
六、排障三件套
- 启动闪退:第一眼看
logs/catalina.out,最常见是 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined——环境变量没生效或软链接断了,source /etc/profile 后再启动;
- 页面 404:检查 webapps 目录下有没有你的应用,以及
conf/server.xml 里的 Connector 端口;
- 远程连不上 8080:先在本机
curl 127.0.0.1:8080 排除本机监听问题,再查防火墙和安全组。
七、上线前的建议
- 关掉管理端或改端口、改默认口令(
host-manager、manager 应用暴露在外等于开门揖盗);
- 用 systemd 托管而不是裸
startup.sh,配 Restart=on-failure;
- JVM 堆大小(-Xms/-Xmx)在生产环境必须显式设,默认配置在小内存机器上会 OOM;
- 日志
目录单独挂载,避免写满根分区。
qidao123.com企服评测-应用市场 编辑提示 |