Debian中Tomcat部署Web应用步骤
在 Debian 上部署 Tomcat Web 应用的步骤
一 准备环境
- 更新系统并安装 Java(推荐 OpenJDK 11):
- sudo apt update & & sudo apt install -y openjdk-11-jdk
- java -version
- 创建专用系统用户(避免以 root 运行):
- sudo groupadd --system tomcat
- sudo useradd -s /usr/sbin/nologin -g tomcat -d /opt/tomcat tomcat
- 说明:Tomcat 9 要求 Java 8+,本示例选用 OpenJDK 11 以兼顾稳定性与兼容性。
二 安装与配置 Tomcat
- 方式 A 二进制安装(通用、便于多版本并存)
- 下载并解压(示例为 Tomcat 9.0.76):
- wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
- sudo mkdir -p /opt/tomcat
- sudo tar -xvf apache-tomcat-9.0.76.tar.gz -C /opt/tomcat --strip-components=1
- 设置目录权限:
- sudo chown -R tomcat:tomcat /opt/tomcat
- sudo chmod +x /opt/tomcat/bin/*.sh
- 配置环境变量(推荐在 setenv.sh 中设置):
- echo ‘export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64’ | sudo tee /opt/tomcat/bin/setenv.sh
- echo ‘export CATALINA_HOME=/opt/tomcat’ | sudo tee -a /opt/tomcat/bin/setenv.sh
- 下载并解压(示例为 Tomcat 9.0.76):
- 方式 B 使用发行版包(简洁、系统集成度高)
- 安装:sudo apt install -y tomcat9 tomcat9-admin
- 目录与权限通常位于:/var/lib/tomcat9、/var/log/tomcat9、/etc/tomcat9
- 注意:不同发行版/版本的包名与目录可能不同,请以实际环境为准。
三 配置 systemd 服务
- 创建服务文件 /etc/systemd/system/tomcat.service(二进制安装场景):
-
sudo tee /etc/systemd/system/tomcat.service < < ‘EOF’ [Unit] Description=Apache Tomcat Web Application Container After=network.target
[Service] Type=forking User=tomcat Group=tomcat Environment=“JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64” Environment=“CATALINA_PID=/opt/tomcat/temp/tomcat.pid” Environment=“CATALINA_HOME=/opt/tomcat” Environment=“CATALINA_BASE=/opt/tomcat” Environment=“CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC” Environment=“JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom” ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=always
[Install] WantedBy=multi-user.target EOF
-
- 启用与启动:
- sudo systemctl daemon-reload
- sudo systemctl enable --now tomcat
- sudo systemctl status tomcat
- 验证:
- curl -I http://127.0.0.1:8080
- 若使用发行版包,可直接:sudo systemctl enable --now tomcat9。
四 部署 Web 应用
- 自动部署(最简便):
- 将 WAR 包复制到 webapps:sudo cp your-app.war /opt/tomcat/webapps/
- Tomcat 会自动解压并部署,访问:http://服务器IP:8080/your-app
- 外部目录部署(不移动 WAR):
- 在 /opt/tomcat/conf/Catalina/localhost/ 创建文件 app.xml:
- sudo tee /opt/tomcat/conf/Catalina/localhost/app.xml < < ‘EOF’ EOF
- 访问:http://服务器IP:8080/app
- 在 /opt/tomcat/conf/Catalina/localhost/ 创建文件 app.xml:
- 管理界面部署(可选):
- 编辑 /opt/tomcat/conf/tomcat-users.xml,添加管理用户(请使用强密码):
- sudo tee -a /opt/tomcat/conf/tomcat-users.xml < < ‘EOF’ EOF
- 重启 Tomcat 后访问:http://服务器IP:8080/manager/html。
- 编辑 /opt/tomcat/conf/tomcat-users.xml,添加管理用户(请使用强密码):
五 网络与安全加固
- 防火墙放行:
- UFW:sudo ufw allow 8080/tcp
- firewalld:sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
- 可选:反向代理与域名访问(HTTP)
- 安装与启用模块:sudo apt install -y apache2 libapache2-mod-jk & & sudo a2enmod jk
- 配置 workers.properties(/etc/apache2/workers.properties):
- worker.list=worker1
- worker.worker1.type=ajp13
- worker.worker1.host=localhost
- worker.worker1.port=8009
- 配置虚拟主机(/etc/apache2/sites-available/your-site.conf):
- < VirtualHost :80> ServerName www.example.com JkMount / worker1 ErrorLog ${ APACHE_LOG_DIR} /example_error.log CustomLog ${ APACHE_LOG_DIR} /example_access.log combined
- 启用站点并重启:sudo a2ensite your-site.conf & & sudo systemctl restart apache2
- 日志与排错:
- 查看实时日志:tail -f /opt/tomcat/logs/catalina.out
- 发行版包路径可能为:/var/log/tomcat9/catalina.out
- 安全建议:
- 使用强口令与最小权限配置管理用户
- 限制管理接口访问来源(如仅内网)
- 配置 HTTPS/TLS(启用 8443 或前置反向代理的 443)
- 隐藏 Tomcat 版本信息,及时打补丁与更新。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian中Tomcat部署Web应用步骤
本文地址: https://pptw.com/jishu/758775.html
