温馨提示×

CentOS JSP开发环境如何配置

小樊
41
2025-12-23 14:45:43
栏目: 编程语言

在 CentOS 上搭建 JSP 开发环境的推荐做法


一 准备与安装 Java

  • 更新系统并安装 OpenJDK 8 或 11(开发建议安装带有编译器的 devel 包):
    • 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 均应返回版本信息。
  • 查找并配置 JAVA_HOME(推荐写入 /etc/profile.d/java.sh,便于维护):
    • 查找路径:sudo update-alternatives --config java(记下实际路径,如 /usr/lib/jvm/java-11-openjdk-…
    • 写入配置:
      • echo ‘export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-…’ | sudo tee /etc/profile.d/java.sh
      • echo ‘export PATH=$JAVA_HOME/bin:$PATH’ | sudo tee -a /etc/profile.d/java.sh
    • 使生效:source /etc/profile.d/java.sh
  • 说明:Tomcat 9 与 Java 8/11 兼容良好,选择 LTS 版本更稳妥。

二 安装与配置 Tomcat

  • 方式 A(推荐,便于更新)手动安装 Apache Tomcat
    • 下载并解压(示例为 Tomcat 9):
      • wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.73/bin/apache-tomcat-9.0.73.tar.gz
      • sudo tar -xvzf apache-tomcat-9.0.73.tar.gz -C /opt
      • sudo mv /opt/apache-tomcat-9.0.73 /opt/tomcat
    • 配置环境变量(/etc/profile.d/tomcat.sh):
      • echo ‘export CATALINA_HOME=/opt/tomcat’ | sudo tee /etc/profile.d/tomcat.sh
      • source /etc/profile.d/tomcat.sh
    • 启动与验证:
      • /opt/tomcat/bin/startup.sh
      • 访问:http://服务器IP:8080 出现欢迎页即成功
    • 防火墙(firewalld):
      • sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
      • sudo firewall-cmd --reload
  • 方式 B(系统包管理器)安装 Tomcat
    • 安装:sudo yum install -y tomcat
    • 启动与自启:sudo systemctl start tomcat;sudo systemctl enable tomcat
    • 应用目录:/usr/share/tomcat/webapps(WAR 放入即自动部署)
  • 提示:若使用云服务器,还需在云平台安全组放行 8080 端口。

三 部署与验证 JSP

  • 快速验证(无需额外项目):
    • 在 webapps/ROOT 下创建测试页:
      • echo ‘<%@ page contentType=“text/html;charset=UTF-8” pageEncoding=“UTF-8”%>

        Hello JSP on CentOS

        ’ | sudo tee /opt/tomcat/webapps/ROOT/test.jsp
    • 访问:http://服务器IP:8080/test.jsp
  • 正式项目:
    • 使用 Maven/Gradle 打成 WAR,上传至 webapps/(或 webapps/ROOT 直接作为根应用),Tomcat 会自动解压部署。

四 作为系统服务运行 Tomcat(推荐)

  • 创建 systemd 服务文件:/etc/systemd/system/tomcat.service
    • sudo tee /etc/systemd/system/tomcat.service <<‘EOF’ [Unit] Description=Apache Tomcat Web Application Container After=network.target

      [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-… 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 User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always

      [Install] WantedBy=multi-user.target EOF

  • 启用与启动:
    • sudo systemctl daemon-reload
    • sudo systemctl start tomcat
    • sudo systemctl enable tomcat
  • 注意:如采用系统包安装的 Tomcat,可直接使用 systemctl 管理,无需自建服务。

五 常见问题与优化

  • 端口与云安全组:默认 8080;如改用 80/443,需同步调整 firewalld 与云平台安全组规则。
  • 目录浏览:为降低风险,建议关闭目录列表,编辑 conf/web.xml
    • listingsfalse
  • JVM 内存:在 CATALINA_OPTS 中设置 -Xms/-Xmx(如 -Xms512M -Xmx1024M),避免频繁 Full GC。
  • 生产建议:使用 Nginx/Apache HTTPD 作为反向代理与静态资源服务,Tomcat 专注 Servlet/JSP;按需启用 HTTP/2、压缩与连接池优化。

0