1. 环境准备:安装Java JDK
JSP是基于Java的动态网页技术,需先安装JDK。在Debian中,推荐使用OpenJDK 11(长期支持版本),通过以下命令安装:
sudo apt update sudo apt install openjdk-11-jdk 安装完成后,验证Java版本以确保正确安装:
java -version 输出应包含openjdk version "11.x.x"信息。
2. 安装与配置Apache Tomcat
Tomcat是运行JSP的标准服务器,Debian可通过APT快速安装,也可手动部署:
(1)通过APT安装(推荐)
sudo apt install tomcat9 安装后,Tomcat会自动启动,服务端口为8080(默认)。验证安装:
curl http://localhost:8080 若返回Tomcat欢迎页面,则说明安装成功。
(2)手动部署(自定义版本)
若需使用最新版Tomcat,可手动下载并解压:
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz sudo mkdir -p /opt/tomcat sudo tar -xvf apache-tomcat-9.0.56.tar.gz -C /opt/tomcat --strip-components 1 配置Tomcat用户权限:为安全起见,创建专用tomcat用户并设置目录权限:
sudo groupadd tomcat sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat sudo chown -R tomcat:tomcat /opt/tomcat sudo chmod -R 755 /opt/tomcat/conf /opt/tomcat/logs /opt/tomcat/temp /opt/tomcat/webapps 创建systemd服务:实现Tomcat开机自启及进程管理:
sudo nano /etc/systemd/system/tomcat.service 粘贴以下内容(修改JAVA_HOME为实际路径,如/usr/lib/jvm/java-11-openjdk-amd64):
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" 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 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target 保存后,重新加载systemd并启动Tomcat:
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat 验证Tomcat运行状态:
sudo systemctl status tomcat 若显示active (running),则服务已启动。
3. 部署JSP项目到Tomcat
JSP项目需打包为WAR(Web Archive)格式才能部署,有两种常见方式:
(1)静态部署(自动解压)
将项目打包为WAR文件(可使用Maven的mvn package命令或手动压缩),复制到Tomcat的webapps目录:
# 手动打包示例(项目目录为myjspproject) cd myjspproject jar -cvf myjspproject.war . # 复制到Tomcat sudo cp myjspproject.war /opt/tomcat/webapps/ Tomcat会自动解压WAR文件(生成同名文件夹),启动后即可通过http://your_server_ip:8080/myjspproject访问。
(2)动态部署(Context配置)
若需自定义虚拟路径或上下文参数,可在Tomcat的conf/Catalina/localhost目录下创建XML文件(文件名即为虚拟路径,如myapp.xml):
sudo nano /opt/tomcat/conf/Catalina/localhost/myapp.xml 添加以下内容(docBase为WAR文件路径或项目目录):
<Context path="/myapp" docBase="/opt/tomcat/webapps/myjspproject.war" reloadable="true"/> reloadable="true"表示Tomcat会自动检测项目变化(如WEB-INF/classes或WEB-INF/lib目录),无需重启即可热部署。
4. 防火墙配置
若系统启用了ufw防火墙,需允许HTTP(80)或HTTPS(443)流量:
sudo ufw allow 'Apache Full' # 允许HTTP和HTTPS sudo ufw enable # 启用防火墙 验证端口是否开放:
sudo ufw status 输出应包含80/tcp ALLOW和443/tcp ALLOW。
5. 验证JSP项目
启动Tomcat后,在浏览器中访问项目URL(如静态部署的http://your_server_ip:8080/myjspproject),若看到项目首页或测试页面(如包含当前时间的JSP页面),则说明配置成功。
注意事项
tomcat)对项目目录及文件有读取权限,避免403 Forbidden错误。conf/server.xml文件中的<Connector port="8080">为其他端口(如8081)。autoDeploy(server.xml中Host标签的autoDeploy="false"),使用reloadable="false",并通过systemctl restart tomcat手动部署,提升安全性。