Debian中JSP如何部署应用
导读:在 Debian 上部署 JSP 应用的标准做法 一 环境准备与安装 安装 OpenJDK 11(或你项目所需的版本): 命令:sudo apt update && sudo apt install openjdk-1...
在 Debian 上部署 JSP 应用的标准做法
一 环境准备与安装
- 安装 OpenJDK 11(或你项目所需的版本):
- 命令:
sudo apt update & & sudo apt install openjdk-11-jdk - 验证:
java -version
- 命令:
- 安装 Apache Tomcat(两种常用方式,二选一)
- 方式 A(系统包,便于用 systemd 管理):
sudo apt install tomcat9 - 方式 B(官方二进制包,便于多版本并存):
- 下载并解压:
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz - 解压到目录:
sudo tar xvf apache-tomcat-9.0.56.tar.gz -C /opt - 软链便于管理:
sudo ln -s /opt/apache-tomcat-9.0.56 /opt/tomcat
- 下载并解压:
- 方式 A(系统包,便于用 systemd 管理):
- 验证安装:
- 系统包方式:
sudo systemctl start tomcat9 & & sudo systemctl enable tomcat9 - 二进制方式:直接访问
http://服务器IP:8080应看到 Tomcat 欢迎页
- 系统包方式:
二 部署方式
- 方式一 自动部署 WAR(最简便)
- 打包:
cd 项目目录 & & jar -cvf myapp.war . - 放置:
- 系统包安装:
sudo cp myapp.war /var/lib/tomcat9/webapps/ - 二进制安装:
sudo cp myapp.war /opt/tomcat/webapps/
- 系统包安装:
- 访问:
http://服务器IP:8080/myapp(上下文路径即 WAR 文件名)
- 打包:
- 方式二 目录部署(热更新方便)
- 将应用目录复制到:
- 系统包:
/var/lib/tomcat9/webapps/myapp/ - 二进制:
/opt/tomcat/webapps/myapp/
- 系统包:
- 确保目录包含
WEB-INF/web.xml,Tomcat 会自动识别并部署
- 将应用目录复制到:
- 方式三 外部目录或精确控制(server.xml 或 Context XML)
- server.xml 中 Host 内添加 Context(不推荐频繁改动主配置):
< Context path="/myapp" docBase="/opt/myapp" reloadable="true"/>
- 推荐:在
conf/Catalina/localhost/下创建myapp.xml:- 文件内容:
< Context docBase="/opt/myapp" reloadable="true"/> - 访问:
http://服务器IP:8080/myapp
- 文件内容:
- server.xml 中 Host 内添加 Context(不推荐频繁改动主配置):
- 说明
- 以上三种方式均为 Tomcat 常见部署手段;WAR 放入 webapps 会自动解压部署;server.xml 与 Context XML 可实现外部目录部署与更细粒度控制
三 运行与验证
- 启动与开机自启
- 系统包:
sudo systemctl start tomcat9 & & sudo systemctl enable tomcat9 - 二进制:
- 启动:
/opt/tomcat/bin/startup.sh - 停止:
/opt/tomcat/bin/shutdown.sh
- 启动:
- 系统包:
- 访问测试
- 默认页:
http://服务器IP:8080 - 应用页:
http://服务器IP:8080/应用名或http://服务器IP:8080/应用名/index.jsp
- 默认页:
- 日志排查
- 系统包:
/var/log/tomcat9/catalina.out - 二进制:
/opt/tomcat/logs/catalina.out - 实时查看:
tail -f /var/log/tomcat9/catalina.out
- 系统包:
四 防火墙与端口开放
- UFW 示例
- 开放 8080:
sudo ufw allow 8080/tcp - 如配置了 HTTPS 8443:
sudo ufw allow 8443/tcp
- 开放 8080:
- 云服务器安全组
- 放行 TCP 8080/8443 入站规则,确保外网可访问
五 安全与优化建议
- 以非 root 运行
- 创建系统用户并赋权(二进制安装推荐):
sudo groupadd tomcatsudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcatsudo chown -R tomcat:tomcat /opt/tomcat
- 创建系统用户并赋权(二进制安装推荐):
- systemd 服务示例(二进制安装)
- 新建:
sudo nano /etc/systemd/system/tomcat.service - 内容要点:
User=tomcat、Group=tomcatEnvironment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64Environment=CATALINA_HOME=/opt/tomcatExecStart=/opt/tomcat/bin/startup.sh、ExecStop=/opt/tomcat/bin/shutdown.shRestart=always
- 启用:
sudo systemctl daemon-reload & & sudo systemctl enable --now tomcat
- 新建:
- 启用 HTTPS(可选)
- 使用 Let’s Encrypt 获取证书后,在
server.xml配置 8443 连接器,示例:< Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true">< SSLHostConfig>< Certificate certificateKeystoreFile="/etc/letsencrypt/live/your_domain.com/fullchain.pem" type="RSA" certificateKeystorePassword="your_keystore_password"/>< /SSLHostConfig>< /Connector>
- 重启 Tomcat 后通过
https://域名:8443访问
- 使用 Let’s Encrypt 获取证书后,在
- 其他建议
- 调整内存与 GC(如
CATALINA_OPTS="-Xms512M -Xmx1024M") - 隐藏版本信息、限制管理端访问、定期审计日志与依赖
- 调整内存与 GC(如
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian中JSP如何部署应用
本文地址: https://pptw.com/jishu/755571.html
