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手动部署,提升安全性。