温馨提示×

CentOS JSP运行环境怎么配置

小樊
36
2025-12-15 17:43:11
栏目: 编程语言

在 CentOS 上搭建 JSP 运行环境的标准做法


一 准备与安装 Java

  • 更新系统并安装 OpenJDK(推荐 JDK 8JDK 11,两者均可稳定运行 JSP/Servlet):
    • 安装 OpenJDK 8:sudo yum install -y java-1.8.0-openjdk-devel
    • 安装 OpenJDK 11:sudo yum install -y java-11-openjdk-devel
  • 配置环境变量(全局生效,建议写入 /etc/profile.d/java.sh):
    • 查看实际 JDK 路径:readlink -f $(which java) 或 alternatives --config java
    • 写入文件:
      • 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
  • 验证:java -version、javac -version 应返回对应版本号。

二 安装与配置 Tomcat

  • 方式 A(YUM 安装,适合快速上手)
    • 安装:sudo yum install -y tomcat
    • 启动与开机自启:sudo systemctl start tomcat;sudo systemctl enable tomcat
    • 访问测试:浏览器打开 http://服务器IP:8080,出现 Tomcat 欢迎页即成功。
  • 方式 B(二进制包安装,便于多版本并存与自定义)
    • 下载并解压(示例为 Tomcat 10.1.x):
      • wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz
      • sudo tar -xzvf apache-tomcat-10.1.15.tar.gz -C /opt
      • sudo mv /opt/apache-tomcat-10.1.15 /opt/tomcat
    • 环境变量(/etc/profile.d/tomcat.sh):
      • echo ‘export CATALINA_HOME=/opt/tomcat’ | sudo tee /etc/profile.d/tomcat.sh
      • echo ‘export PATH=$PATH:$CATALINA_HOME/bin’ | sudo tee -a /etc/profile.d/tomcat.sh
      • source /etc/profile.d/tomcat.sh
    • 创建专用用户与授权:
      • sudo groupadd -r tomcat
      • sudo useradd -r -s /sbin/nologin -g tomcat -d /opt/tomcat tomcat
      • sudo chown -R tomcat:tomcat /opt/tomcat
    • 启动测试:/opt/tomcat/bin/startup.sh;访问 http://服务器IP:8080。

三 部署与验证 JSP 应用

  • 部署方式
    • 将应用打包为 WAR 文件,复制到 Tomcat 的 webapps 目录(YUM 安装通常为 /usr/share/tomcat/webapps;二进制安装为 /opt/tomcat/webapps),Tomcat 会自动解压部署。
    • 也可将静态文件或测试页放入 webapps/ROOT 目录,直接通过根路径访问。
  • 快速验证
    • 在 ROOT 下创建测试页:echo ‘<%@ page contentType=“text/html;charset=UTF-8” %>

      Hello JSP

      ’ | sudo tee /opt/tomcat/webapps/ROOT/hello.jsp
    • 访问:http://服务器IP:8080/hello.jsp,看到 “Hello JSP” 即部署成功。

四 防火墙与安全加固

  • 防火墙放行
    • 开放 8080 端口:sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    • 重载规则:sudo firewall-cmd --reload
  • 可选:使用 Nginx 反向代理到 80/443
    • 在 Nginx 配置中增加:location / { proxy_pass http://127.0.0.1:8080; },然后重载 Nginx,实现域名直接访问且端口隐藏。
  • 安全建议
    • 禁用或限制管理应用:删除或注释 webapps 下的 managerhost-manager,或在 server.xml 中对访问来源做 IP 限制(RemoteAddrValve)。
    • 配置 SSL/TLS:为 8443 连接器配置证书(可用 Let’s Encrypt),对外提供 HTTPS。
    • 运行权限最小化:Tomcat 以 tomcat 用户运行,目录权限 755/750,避免以 root 启动。

五 服务管理与性能优化

  • Systemd 服务示例(二进制安装路径为 /opt/tomcat,如使用 YUM 请将路径替换为 /usr/share/tomcat 并调整 User/Group)
    • 创建文件:sudo vi /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-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 -Dfile.encoding=UTF-8’
        • 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
    • 启用与启动:sudo systemctl daemon-reload;sudo systemctl enable --now tomcat
  • 常用优化
    • JVM 内存:在 setenv.sh 或 systemd 的 CATALINA_OPTS 中设置 -Xms/-Xmx(如 -Xms1G -Xmx2G,视内存而定)。
    • 连接器:在 conf/server.xml 调整 maxThreads、connectionTimeout 等参数,匹配并发与超时需求。
    • 日志与排错:tail -f /opt/tomcat/logs/catalina.out、localhost_access_log;端口冲突用 ss -tulnp | grep 8080 定位。

0