CentOS JSP运行环境怎么搭建
小樊
42
2025-12-27 11:51:38
CentOS 搭建 JSP 运行环境
一 准备与安装 Java
- 更新系统并安装 OpenJDK 8(推荐)或 OpenJDK 11:
- 安装 OpenJDK 8:sudo yum install -y java-1.8.0-openjdk-devel
- 或安装 OpenJDK 11:sudo yum install -y java-11-openjdk-devel
- 验证安装:java -version、javac -version
- 配置全局环境变量(/etc/profile):
- OpenJDK 8 示例:
- export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
- export PATH=$JAVA_HOME/bin:$PATH
- 使配置生效:source /etc/profile
- 说明:Tomcat 作为 JSP/Servlet 容器依赖 JDK,安装 devel 包可确保编译与工具链可用。
二 安装与启动 Tomcat
- 方式 A(推荐,系统包管理器):
- 安装:sudo yum install -y tomcat
- 启动与自启:sudo systemctl start tomcat;sudo systemctl enable tomcat
- 默认管理应用:可一并安装管理组件(可选)sudo yum install -y tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
- 方式 B(官方二进制包,便于多版本并存):
- 下载并解压(示例为 Tomcat 9):
- wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
- sudo tar -zxvf apache-tomcat-9.0.56.tar.gz -C /usr/local
- 启动:/usr/local/apache-tomcat-9.0.56/bin/startup.sh
- 环境变量(可选):在 /etc/profile 中添加
- export CATALINA_HOME=/usr/local/apache-tomcat-9.0.56
- export PATH=$PATH:$CATALINA_HOME/bin
- 访问测试:浏览器打开 http://服务器IP:8080,出现 Tomcat 欢迎页即成功。
三 部署与验证 JSP
- 部署方式 1(WAR 包):
- 将项目打包为 .war,复制到 Tomcat 的 webapps 目录(系统包安装路径通常为 /usr/share/tomcat/webapps;二进制安装为 $CATALINA_HOME/webapps),Tomcat 会自动解压部署。
- 部署方式 2(ROOT 直放):
- 清空 ROOT:rm -rf $CATALINA_HOME/webapps/ROOT/*
- 放入你的应用或测试文件到 ROOT。
- 快速测试页 test.jsp(放置到 ROOT 或应用目录):
- 内容:
- <%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
Test JSP Page
Hello, this is a test JSP page!
- 访问:http://服务器IP:8080/test.jsp 或 http://服务器IP:8080/你的应用/test.jsp
- 防火墙放行(如启用 firewalld):
- sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
- sudo firewall-cmd --reload。
四 服务管理与优化
- Systemd 服务示例(适用于二进制安装或需要精细控制的场景,/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-1.8.0-openjdk
- Environment=CATALINA_PID=/usr/local/apache-tomcat-9.0.56/temp/tomcat.pid
- Environment=CATALINA_HOME=/usr/local/apache-tomcat-9.0.56
- Environment=CATALINA_BASE=/usr/local/apache-tomcat-9.0.56
- Environment=‘CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’
- Environment=‘JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’
- ExecStart=/usr/local/apache-tomcat-9.0.56/bin/startup.sh
- ExecStop=/usr/local/apache-tomcat-9.0.56/bin/shutdown.sh
- User=tomcat
- Group=tomcat
- UMask=0007
- RestartSec=10
- Restart=always
- [Install]
- WantedBy=multi-user.target
- 使能:sudo systemctl daemon-reload;sudo systemctl start tomcat;sudo systemctl enable tomcat
- 连接器与性能(conf/server.xml):
- 监控与基础优化:
- 资源监控:top/htop、jstat、jstack
- 应用优化:减少 JSP 中 Java 代码、使用 JSTL、启用 Gzip、数据库连接池与 SQL 优化。
五 安全加固与常见问题
- 安全加固要点:
- 禁止目录浏览:在 conf/web.xml 中将 listings 设为 false
- 删除示例与管理应用:移除 webapps/docs、examples、host-manager、manager、ROOT(如无需)
- 隐藏 Server 信息:处理 catalina.jar 中的 ServerInfo.properties
- 常见问题排查:
- 端口占用:ss -tlnp | grep 8080;必要时修改 server.xml 的 Connector port
- 权限问题:若使用 Systemd,确保以 tomcat 用户运行,目录权限正确
- 防火墙/云安全组:确认 8080/tcp 已放行(云服务器需同时配置安全组规则)
- 启动失败:查看 logs/catalina.out 与 journalctl -u tomcat 日志定位。