云服务器搭建Tomcat:从部署到上线
云服务器搭建Tomcat
在云服务器上搭建 Tomcat 是很多 Java Web 项目上线的基础操作。Tomcat 是一款常用的 Java Servlet 容器,主要用于部署 JSP、Servlet、Spring Boot 以外传统 WAR 包项目,也常用于企业内部系统、管理后台、测试环境等场景。下面介绍一套完整的云服务器搭建 Tomcat 教程,适合 Linux 服务器环境,例如 CentOS、Ubuntu、Debian 等系统。
一、准备云服务器
首先需要准备一台云服务器,建议选择 Linux 系统,例如 Ubuntu 或 CentOS。服务器配置可以根据项目访问量决定,测试环境通常 1 核 1G 或 1 核 2G 即可,生产环境建议更高配置。
服务器购买完成后,需要确认以下信息:
- 服务器公网 IP 地址;
- SSH 登录用户名;
- SSH 登录密码或密钥;
- 云服务器安全组是否放行端口。
如果使用 Tomcat 默认端口,需要放行 8080 端口;如果通过 SSH 远程连接,需要放行 22 端口;如果后续使用 Nginx 反向代理,则需要放行 80 或 443 端口。
二、连接云服务器
使用 SSH 工具连接服务器,例如 Xshell、FinalShell、PuTTY 或终端命令。
连接命令示例:
ssh root@服务器公网IP
连接成功后,建议先更新系统软件源:
yum update -y
或 Ubuntu 系统:
apt update
三、安装 JDK
Tomcat 是 Java Web 容器,运行 Tomcat 必须先安装 JDK。
可以先查看服务器是否已经安装 Java:
java -version
如果没有安装,可以使用命令安装。
CentOS 示例:
yum install java-11-openjdk -y
Ubuntu 示例:
apt install openjdk-11-jdk -y
安装完成后再次查看版本:
java -version
如果出现 Java 版本信息,说明 JDK 安装成功。
四、下载并安装 Tomcat
进入常用软件目录:
cd /usr/local
下载 Tomcat,例如从 Apache 官网下载压缩包。也可以先使用 wget 命令下载:
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.XX/bin/apache-tomcat-9.0.XX.tar.gz
下载完成后解压:
tar -zxvf apache-tomcat-9.0.XX.tar.gz
为了方便管理,可以重命名为 tomcat:
mv apache-tomcat-9.0.XX tomcat
此时 Tomcat 目录一般为:
/usr/local/tomcat
五、启动 Tomcat
进入 Tomcat 的 bin 目录:
cd /usr/local/tomcat/bin
启动 Tomcat:
./startup.sh
启动后,在浏览器中访问:
http://服务器公网IP:8080
如果能看到 Tomcat 欢迎页面,说明 Tomcat 已经正常运行。
如果无法访问,需要检查云服务器安全组是否放行 8080 端口,以及服务器防火墙是否开放该端口。
CentOS 防火墙示例:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
Ubuntu 防火墙示例:
ufw allow 8080/tcp
六、部署 Java Web 项目
Tomcat 部署项目最常用的方式是将 WAR 包上传到 webapps 目录。
进入目录:
cd /usr/local/tomcat/webapps
将项目 WAR 包上传到该目录,例如:
myproject.war
Tomcat 会自动解压 WAR 包。上传完成后,可以通过以下地址访问:
http://服务器公网IP:8080/myproject
如果项目有指定上下文路径,也可以在 Tomcat 配置文件中设置。
七、修改 Tomcat 端口
默认情况下,Tomcat 使用 8080 端口。如果该端口被占用,或者希望使用其他端口,可以修改配置文件。
编辑 server.xml:
vi /usr/local/tomcat/conf/server.xml
找到类似配置:
将 8080 修改为其他端口,例如 8088:
保存后重启 Tomcat:
cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh
访问地址变为:
http://服务器公网IP:8088
八、配置后台服务启动
为了避免 SSH 断开后 Tomcat 停止运行,可以将 Tomcat 设置为后台服务。更推荐使用 systemd 管理。
创建服务文件:
vi /etc/systemd/system/tomcat.service
写入以下内容:
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
重新加载 systemd:
systemctl daemon-reload
启动 Tomcat:
systemctl start tomcat
设置开机自启:
systemctl enable tomcat
查看运行状态:
systemctl status tomcat
九、使用 Nginx 反向代理
生产环境中,一般不建议直接暴露 Tomcat 端口,而是使用 Nginx 做反向代理,将 80 端口请求转发到 Tomcat 的 8080 端口。
安装 Nginx:
yum install nginx -y
或:
apt install nginx -y
配置 Nginx:
vi /etc/nginx/conf.d/tomcat.conf
添加配置:
server {
listen 80;
server_name 服务器域名或公网IP;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
检查配置:
nginx -t
重启 Nginx:
systemctl restart nginx
配置完成后,就可以通过:
http://服务器公网IP
访问 Tomcat 项目。
十、查看日志与排查问题
Tomcat 日志目录通常在:
/usr/local/tomcat/logs
常用日志包括:
catalina.out
localhost_access_log.txt
查看实时日志:
tail -f /usr/local/tomcat/logs/catalina.out
常见问题包括:
-
页面无法访问
检查安全组、防火墙、Tomcat 是否启动。 -
项目访问 404
检查 WAR 包是否上传成功,项目路径是否正确。 -
页面 500 错误
查看catalina.out日志,确认数据库连接、配置文件、依赖是否正常。 -
端口冲突
查看端口占用情况:netstat -tunlp | grep 8080 -
Java 版本不兼容
不同版本的 Tomcat 和项目对 JDK 版本要求不同,需要根据项目要求选择合适版本。
总结
在云服务器上搭建 Tomcat 主要流程包括:准备服务器、安装 JDK、下载 Tomcat、启动服务、部署项目、配置端口、设置开机自启以及使用 Nginx 反向代理。整个过程并不复杂,但需要注意云服务器安全组、防火墙、Java 版本和项目路径等细节。合理配置后,Tomcat 可以稳定运行 Java Web 项目,并满足日常测试和生产访问需求。