在 Ubuntu 上部署 JSP 项目的标准流程
一 准备环境
sudo apt update && sudo apt install openjdk-11-jdkjava -version 应显示 openjdk 11 版本信息sudo apt install tomcat9
sudo systemctl status tomcat9 查看状态wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gzsudo tar -zxvf apache-tomcat-9.0.56.tar.gz -C /optsudo ln -s /opt/apache-tomcat-9.0.56 /usr/local/tomcat/usr/local/tomcat/bin/startup.shcurl http://localhost:8080 能看到 Tomcat 欢迎页sudo ufw allow 8080/tcp二 部署应用
sudo cp myapp.war /var/lib/tomcat9/webapps/sudo cp myapp.war /usr/local/tomcat/webapps/http://服务器IP:8080/myapphttp://服务器IP:8080/manager/html
sudo mkdir -p /usr/local/tomcat/webapps/myapp,复制文件后访问 http://服务器IP:8080/myapp三 可选配置
sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d your_domain.comserver {
listen 80;
server_name your_domain.com www.your_domain.com;
location / {
proxy_pass http://localhost: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_domain.com /etc/nginx/sites-enabled/sudo nginx -t && sudo systemctl restart nginxhttps://your_domain.com(HTTP 将自动跳转至 HTTPS)sudo groupadd tomcat && sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcatsudo chgrp -R tomcat /opt/tomcatsudo chmod -R 755 /opt/tomcat/conf/sudo chown -R tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/sudo nano /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
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
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload && sudo systemctl start tomcat && sudo systemctl enable tomcatsudo apt install mysql-serverjdbc:mysql://localhost:3306/your_db?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC四 验证与常见问题
http://服务器IP:8080http://服务器IP:8080/your_app/http://服务器IP:8080/manager/html(需配置 manager 账号)<Connector port="8080"> 为未占用端口,重启 Tomcat<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>,并统一项目与数据库字符集为 UTF-8