如何快速高效地将Debian JSP部署到云服务器,实现轻松运维?
- 内容介绍
- 文章标签
- 相关推荐
一、选对云主机,避免踩坑
至于痛点。盲选低配机器导致启动慢、经常 OOM,白白浪费时间。
在云主机提供商的控制台中选择 Debian,确保有足够的 CPU 和内存来承载 Tomcat 应用。
二、安装 Java 运行环境
痛点这方面。找不到合适的 JDK 版本,部署后报 “UnsupportedClassVersionError”。
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version # 验证安装
三、安装 TomcatServlet容器
至于痛点。手动下载解压 Tomcat 填坑多,易漏掉权限配置。
sudo apt install -y tomcat9
sudo systemctl enable tomcat9 # 开机自启
四、基础配置 Tomcat
说到痛点,默认端口被占用或内存设置不合理导致频繁 GC。
4.1 修改监听端口
sudo nano /etc/tomcat9/server.xml
# 查找 改为想要的端口。例如 8081
4.2 调整 JVM 参数以提高性能
sudo nano /etc/default/tomcat9
# 在 JA_OPTS 中添加:
JA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC -XX:-UseParallelOldGC"
五、部署您的 WAR 包
至于痛点,手动复制 WAR 忘记重启 Tomcat,以为部署失败。说起来,
# 假设您已经编译好 myapp.war
sudo cp myapp.war /var/lib/tomcat9/webapps/
# Tomcat 自动探测并解压 WAR。无需手动解压
sudo systemctl restart tomcat9 # 确保生效
六、安装并配置 Nginx 作为反向代理
从痛点来看,直接暴露 Tomcat 端口不利于安全且无法绑定域名。
sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/myapp
# 输入下面内容:
server {
listen 80;怎么说呢,server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:8081;其实,# 注意这里对应 Tomcat 的端口
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;}
}
# 开启站点并重载 Nginx
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
痛点的观点是。不清楚是否真的成功,盲猜导致后续排查困难。
- 在浏览器访问 http://your_domain_or_ip/
- 若看到您的 JSP 首页或应用界面说明部署成功
- 若出现 Tomcat 欢迎页。检查 WAR 是否正确放置及上下文方法
- 看日志定位问题:
-
启动时报错 “Address already in use”: 检查占用端口的进程,杀掉或改用其他端口。
-
/myapp 方法访问返回404: 验证 WAR 名称是否与期望上下文匹配,检查 catalina.out 是否有加载错误。
-
: 调大 JVM 的 Xmx 参数或检查应用内存泄漏。
-
从疼忙来看,频繁 Full GC导致卡顿。
- 根据实际流量调节-Xms/-Xmx,使堆内存占比约为物理内存的60%。
-
开启G1垃圾回收器:
-XX:+UseG1GC。 - 打开Tomcat的访问日志和异常日志,定期分析。
-
使用
一、选对云主机,避免踩坑
至于痛点。盲选低配机器导致启动慢、经常 OOM,白白浪费时间。
在云主机提供商的控制台中选择 Debian,确保有足够的 CPU 和内存来承载 Tomcat 应用。
二、安装 Java 运行环境
痛点这方面。找不到合适的 JDK 版本,部署后报 “UnsupportedClassVersionError”。
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version # 验证安装
三、安装 TomcatServlet容器
至于痛点。手动下载解压 Tomcat 填坑多,易漏掉权限配置。
sudo apt install -y tomcat9
sudo systemctl enable tomcat9 # 开机自启
四、基础配置 Tomcat
说到痛点,默认端口被占用或内存设置不合理导致频繁 GC。
4.1 修改监听端口
sudo nano /etc/tomcat9/server.xml
# 查找 改为想要的端口。例如 8081
4.2 调整 JVM 参数以提高性能
sudo nano /etc/default/tomcat9
# 在 JA_OPTS 中添加:
JA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC -XX:-UseParallelOldGC"
五、部署您的 WAR 包
至于痛点,手动复制 WAR 忘记重启 Tomcat,以为部署失败。说起来,
# 假设您已经编译好 myapp.war
sudo cp myapp.war /var/lib/tomcat9/webapps/
# Tomcat 自动探测并解压 WAR。无需手动解压
sudo systemctl restart tomcat9 # 确保生效
六、安装并配置 Nginx 作为反向代理
从痛点来看,直接暴露 Tomcat 端口不利于安全且无法绑定域名。
sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/myapp
# 输入下面内容:
server {
listen 80;怎么说呢,server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:8081;其实,# 注意这里对应 Tomcat 的端口
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;}
}
# 开启站点并重载 Nginx
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
痛点的观点是。不清楚是否真的成功,盲猜导致后续排查困难。
- 在浏览器访问 http://your_domain_or_ip/
- 若看到您的 JSP 首页或应用界面说明部署成功
- 若出现 Tomcat 欢迎页。检查 WAR 是否正确放置及上下文方法
- 看日志定位问题:
-
启动时报错 “Address already in use”: 检查占用端口的进程,杀掉或改用其他端口。
-
/myapp 方法访问返回404: 验证 WAR 名称是否与期望上下文匹配,检查 catalina.out 是否有加载错误。
-
: 调大 JVM 的 Xmx 参数或检查应用内存泄漏。
-
从疼忙来看,频繁 Full GC导致卡顿。
- 根据实际流量调节-Xms/-Xmx,使堆内存占比约为物理内存的60%。
-
开启G1垃圾回收器:
-XX:+UseG1GC。 - 打开Tomcat的访问日志和异常日志,定期分析。
-
使用

