环境准备(必需组件)
-
安装JDK
sudo apt update sudo apt install openjdk-11-jdk # 推荐JDK 8/11/17 java -version # 验证安装
-
安装Tomcat服务器
sudo apt install tomcat9 tomcat9-admin # Ubuntu/Debian # 或手动安装(官网下载.tar.gz解压) wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz tar -xzf apache-tomcat-*.tar.gz mv apache-tomcat-*/ /opt/tomcat
配置Tomcat
-
设置环境变量
编辑~/.bashrc
或/opt/tomcat/bin/setenv.sh
(手动安装时创建):export CATALINA_HOME=/opt/tomcat # 手动安装路径 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
生效配置:
source ~/.bashrc
-
管理权限配置
编辑/etc/tomcat9/tomcat-users.xml
(包安装)或/opt/tomcat/conf/tomcat-users.xml
:<role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="secure_password" roles="manager-gui,admin-gui"/>
部署JSP应用
-
创建Web应用目录结构
mkdir -p ~/myapp/WEB-INF/classes touch ~/myapp/WEB-INF/web.xml
创建示例JSP文件
~/myapp/index.jsp
:<%@ page language="java" contentType="text/html; charset=UTF-8" %> <html> <body> <h2>Hello JSP! Time: <%= new java.util.Date() %></h2> </body> </html>
-
部署到Tomcat
- 方式1:直接复制到webapps
sudo cp -r ~/myapp /var/lib/tomcat9/webapps/ # 包安装路径 # 或 cp -r ~/myapp $CATALINA_HOME/webapps/ # 手动安装路径
- 方式2:通过Manager应用上传WAR文件
jar -cvf myapp.war -C ~/myapp . # 访问 http://服务器IP:8080/manager 上传WAR
- 方式1:直接复制到webapps
启动Tomcat并测试
-
启动/重启Tomcat
sudo systemctl start tomcat9 # 包安装 # 或手动启动 $CATALINA_HOME/bin/startup.sh
-
访问JSP页面
浏览器打开:http://your_server_ip:8080/myapp/index.jsp
正常显示动态时间即成功。
常见问题解决
- 端口冲突:编辑
$CATALINA_HOME/conf/server.xml
修改<Connector port="8080">
- 权限错误:
sudo chown -R tomcat:tomcat /opt/tomcat/webapps/ # 手动安装时
- JSP未编译:检查
$CATALINA_HOME/work/
下是否生成编译后的.java
和.class
文件 - 类加载问题:将JAR包放入
WEB-INF/lib/
目录
安全与优化建议
- 生产环境必做:
- 禁用Manager应用的公网访问(配置防火墙)
- 定期更新Tomcat和JDK
- 使用HTTPS加密(配置
server.xml
的SSL连接器)
- 性能调优:
- 调整
conf/server.xml
的线程池参数 - 启用JSP预编译:在
web.xml
添加<jsp-config><jsp-property-group><url-pattern>*.jsp</url-pattern><el-ignored>true</el-ignored></jsp-property-group></jsp-config>
- 调整
附:关键命令速查
功能 | 命令 |
---|---|
启动Tomcat | $CATALINA_HOME/bin/startup.sh |
停止Tomcat | $CATALINA_HOME/bin/shutdown.sh |
查看日志 | tail -f $CATALINA_HOME/logs/catalina.out |
编译单个JSP | $CATALINA_HOME/bin/jspc.sh index.jsp (调试用) |
引用说明:本文基于Apache Tomcat 9官方文档及Oracle JDK最佳实践编写,适用于主流Linux发行版(Ubuntu/CentOS),配置路径可能因版本差异略有不同,请以实际环境为准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6365.html