Debian 上部署 Java 应用的实用步骤
一 准备环境
sudo apt update && sudo apt install openjdk-17-jdk 或 sudo apt install default-jdkjava -version、javac -versionsudo nano /etc/environment,添加例如:JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"source /etc/environmentsudo update-alternatives --config java,按提示选择默认版本。二 部署方式
mvn clean package(或 gradle build),产物一般为 target/your-app.jarjava -jar your-app.jar;生产建议后台运行并输出日志:nohup java -jar your-app.jar > app.log 2>&1 &sudo apt install tomcat9sudo systemctl status|start|stop tomcat9sudo apt-get updatecurl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /devrefsudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.ioFROM openjdk:17-jre-slimCOPY target/your-app.jar /app.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]docker build -t your-app .;docker run -d -p 8080:8080 your-appsudo apt install -y nginx/etc/nginx/sites-available/default:
server { listen 80; server_name your_domain; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }sudo systemctl reload nginx。三 运行与运维要点
sudo ufw allow 8080/tcptail -f app.logjournalctl -u tomcat9 -f 或查看 /var/log/tomcat9/catalina.outjava -Xms512m -Xmx2g -jar your-app.jarPATH,用 update-alternatives --config java 选定版本ss -tlnp | grep 8080 查找并释放占用进程