1. 准备JSP项目
确保JSP项目已完成开发,结构符合Java Web标准(如Maven项目的src/main/webapp
目录包含WEB-INF/web.xml
配置文件,静态资源(HTML/JSP/CSS/JS)放在根目录,Java类编译后存入WEB-INF/classes
,依赖库放入WEB-INF/lib
)。若未打包,可通过以下方式生成WAR文件:
mvn clean package
,生成的WAR文件位于target
目录(如myapp.war
);jar cvf myapp.war *
(需提前整理好项目结构)。2. 安装Java环境
JSP需要Java运行环境(JRE/JDK),推荐安装OpenJDK 11(兼容大多数Tomcat版本):
sudo apt update sudo apt install openjdk-11-jdk # 验证安装 java -version # 应输出Java 11版本信息
3. 安装与配置Tomcat
Tomcat是运行JSP的标准Servlet容器,推荐通过APT安装(简化管理):
sudo apt update sudo apt install tomcat9 tomcat9-admin # 安装Tomcat 9及管理工具
安装完成后,Tomcat会自动启动(默认端口8080),可通过http://服务器IP:8080
访问默认欢迎页面验证。
4. 部署WAR文件到Tomcat
将生成的WAR文件复制到Tomcat的webapps
目录(Tomcat会自动解压并部署):
# 假设WAR文件在本地~/myapp.war,服务器IP为192.168.1.100 scp ~/myapp.war user@192.168.1.100:/var/lib/tomcat9/webapps/
部署完成后,Tomcat会自动解压WAR文件(如生成myapp
目录),访问http://服务器IP:8080/myapp
即可查看项目首页。
5. 配置Tomcat服务(可选但推荐)
为确保Tomcat随系统启动,需创建systemd服务文件:
sudo nano /etc/systemd/system/tomcat.service
粘贴以下内容(修改JAVA_HOME
为你的JDK路径,如/usr/lib/jvm/java-11-openjdk-amd64
):
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/default-java" 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 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
保存后执行以下命令启用并启动Tomcat:
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat # 设置开机自启
验证状态:sudo systemctl status tomcat
(应显示“active (running)”)。
6. 验证部署
在浏览器中访问http://服务器IP:8080/你的项目名
(如http://192.168.1.100:8080/myapp
),若看到项目首页或Tomcat默认欢迎页面,说明部署成功。
7. 常见问题排查
tomcat
)对webapps
目录及WAR文件有读取权限,执行sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps/
修复;/opt/tomcat/conf/server.xml
中的<Connector port="8080">
为其他端口(如8081),重启Tomcat;WEB-INF/lib
目录是否包含所有必需的JAR文件。