在 Debian 上部署 JSP 应用的标准做法
一 环境准备与安装
sudo apt update && sudo apt install openjdk-11-jdkjava -versionsudo apt install tomcat9wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gzsudo tar xvf apache-tomcat-9.0.56.tar.gz -C /optsudo ln -s /opt/apache-tomcat-9.0.56 /opt/tomcatsudo systemctl start tomcat9 && sudo systemctl enable tomcat9http://服务器IP:8080 应看到 Tomcat 欢迎页二 部署方式
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 会自动识别并部署<Context path="/myapp" docBase="/opt/myapp" reloadable="true"/>conf/Catalina/localhost/ 下创建 myapp.xml:
<Context docBase="/opt/myapp" reloadable="true"/>http://服务器IP:8080/myapp三 运行与验证
sudo systemctl start tomcat9 && sudo systemctl enable tomcat9/opt/tomcat/bin/startup.sh/opt/tomcat/bin/shutdown.shhttp://服务器IP:8080http://服务器IP:8080/应用名 或 http://服务器IP:8080/应用名/index.jsp/var/log/tomcat9/catalina.out/opt/tomcat/logs/catalina.outtail -f /var/log/tomcat9/catalina.out四 防火墙与端口开放
sudo ufw allow 8080/tcpsudo ufw allow 8443/tcp五 安全与优化建议
sudo groupadd tomcatsudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcatsudo chown -R tomcat:tomcat /opt/tomcatsudo nano /etc/systemd/system/tomcat.serviceUser=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=alwayssudo systemctl daemon-reload && sudo systemctl enable --now tomcatserver.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>https://域名:8443 访问CATALINA_OPTS="-Xms512M -Xmx1024M")