在 Debian 云服务器上部署 JSP 应用
一 准备与安装
sudo apt update && sudo apt install -y openjdk-11-jdkjava -versionsudo apt install -y tomcat9,启动与开机自启:sudo systemctl start tomcat9 && sudo systemctl enable tomcat9wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gztar -zxvf apache-tomcat-9.0.xx.tar.gz -C /opt && sudo mv /opt/apache-tomcat-9.0.xx /opt/tomcatsudo groupadd tomcat && sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcatsudo chown -R tomcat:tomcat /opt/tomcat/etc/systemd/system/tomcat.service[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
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
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload && sudo systemctl start tomcat && sudo systemctl enable tomcat二 打包与上传应用
mvn clean packagetarget/your-app.warscp target/your-app.war user@your_server_ip:/var/lib/tomcat9/webapps/三 部署与验证
sudo systemctl restart tomcat9tail -f /var/log/tomcat9/catalina.out/var/log/tomcat9/*.logsudo ufw allow 8080/tcp四 安全与进阶配置
sudo apt install -y certbotsudo certbot certonly --standalone -d your_domain.com<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/etc/letsencrypt/live/your_domain.com/fullchain.pem"
type="RSA" certificateKeystorePassword="your_keystore_password"/>
</SSLHostConfig>
</Connector>
sudo systemctl restart tomcat9sudo apt install -y nginxserver {
listen 80;
server_name your_domain.com;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/your_app /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx/etc/letsencrypt/live/your_domain.com/,并关闭 Tomcat 的 8443 配置。JAVA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC -Djava.awt.headless=true"。五 常见问题与排查
systemctl status tomcat9)、端口是否放行(云安全组与 ufw)、日志是否有启动错误(catalina.out)。manager-gui、admin-gui),注意强密码与访问控制。