温馨提示×

CentOS与JSP集成有哪些技巧

小樊
37
2025-12-25 13:19:30
栏目: 编程语言

CentOS 与 JSP 集成的关键技巧

一 基础环境快速搭建

  • 安装 JDK 8/11(推荐 OpenJDK):执行命令:yum install -y java-1.8.0-openjdkyum install -y java-11-openjdk,随后用 java -version 验证。
  • 安装 Tomcat 9(两种常用方式):
    • 方式 A(系统源):yum install -y tomcat,默认目录为 /usr/share/tomcat,用 systemctl start|enable tomcat 管理。
    • 方式 B(官方二进制):从 Apache 下载 Tomcat 9 压缩包,解压至 /usr/local/apache-tomcat-9.x,设置环境变量 CATALINA_HOME 后使用 bin/startup.sh 启动。
  • 部署应用:将项目打包为 WAR 放入 Tomcat 的 webapps 目录(如 /usr/share/tomcat/webapps/ 或解压目录的 webapps/),Tomcat 会自动解压部署。
  • 访问验证:打开浏览器访问 http://服务器IP:8080/(若部署到子目录,则为 /应用名)。

二 网络与访问控制

  • 放行防火墙端口:Tomcat 默认使用 8080,执行 firewall-cmd --zone=public --add-port=8080/tcp --permanent && firewall-cmd --reload
  • 端口冲突排查:使用 netstat -anp | grep 8080ss -ltnp | grep 8080 查看占用,必要时修改 conf/server.xml 中的 <Connector port="8080"> 为未占用端口。
  • 生产建议:仅在内网开放 8080,对外通过 Nginx/HAProxy 做反向代理与 HTTPS 终止,降低暴露面。

三 以 Systemd 管理 Tomcat 与 JVM 调优

  • 创建服务文件 /etc/systemd/system/tomcat.service,关键项示例:
    • 环境变量:JAVA_HOMECATALINA_HOMECATALINA_BASE
    • JVM 参数:CATALINA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC"JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
    • 进程与权限:User=tomcatGroup=tomcatRestart=always
  • 常用命令:systemctl daemon-reloadsystemctl start|stop|restart|enable tomcat
  • 连接器优化:在 conf/server.xml 中调整 protocolconnectionTimeoutredirectPort 等,必要时启用 HTTP/2(需协议与连接器支持)。

四 部署与运维实用技巧

  • 应用热部署:将 WAR 放入 webapps 即可自动解压部署;如需零停机,建议使用外部构建与蓝绿发布流程。
  • 应用目录:ROOT 应用路径为 webapps/ROOT(访问根路径即该目录内容)。
  • 页面编码:在 JSP 顶部添加 <%@ page contentType="text/html;charset=UTF-8" language="java" %>,避免中文乱码。
  • 常见问题速解:
    • 端口被占用:改 server.xml<Connector port> 或释放占用进程。
    • 权限异常:检查 Tomcat 运行用户对 webapps、logs、temp 等目录的读写权限。
    • 启动失败:查看 logs/catalina.outjournalctl -u tomcat 日志定位问题。

五 性能与安全加固

  • 性能优化:
    • 在 JSP 中减少内嵌 Java 代码,使用 JSTL 与 MVC 分层;
    • 启用 Gzip 压缩(Tomcat 或反向代理层);
    • 数据库连接使用 连接池(如 HikariCP/DBCP),优化 SQL 与索引。
  • 监控与排障:
    • 系统层用 top/htop 观察 CPU/内存;
    • JVM 层建议开启 JMX 或使用 VisualVM/Arthas 远程诊断;
    • Tomcat 层关注 access.log、catalina.out 与线程池使用情况。
  • 安全建议:
    • 禁止在生产环境保留示例应用与 manager 管理应用;
    • 限制管理接口访问来源,使用强口令与 IP 白名单;
    • 对外仅暴露 80/443,Tomcat 8080 仅内网可达;
    • 及时升级 JDK/Tomcat 修复已知漏洞。

0