1. 更新系统软件包
首先确保系统软件包为最新状态,避免依赖冲突:
sudo apt update && sudo apt upgrade -y
2. 安装Java开发工具包(JDK)
JSP需要Java环境,推荐安装OpenJDK 11及以上版本(兼容性好且开源):
sudo apt install openjdk-11-jdk -y
验证安装是否成功:
java -version # 应输出Java版本信息(如OpenJDK 11)
javac -version # 验证Java编译器是否可用
3. 下载并安装Apache Tomcat
Tomcat是轻量级的JSP/Servlet容器,适合运行JSP应用:
# 下载Tomcat 9(稳定版本,截至2025年)
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
# 解压到/opt目录(系统级应用目录)
sudo tar -xvf apache-tomcat-9.0.76.tar.gz -C /opt
# 重命名目录便于管理
sudo mv /opt/apache-tomcat-9.0.76 /opt/tomcat
4. 配置Tomcat用户权限(安全要求)
避免以root用户运行Tomcat,创建专用用户和组:
# 创建tomcat组
sudo groupadd tomcat
# 创建tomcat用户(无登录权限,归属tomcat组)
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
# 设置目录权限(conf目录仅root可写,其他目录归tomcat用户)
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat/conf
sudo chown -R tomcat:tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/
5. 创建Tomcat系统服务(实现开机自启)
通过systemd管理Tomcat服务,确保系统重启后自动启动:
# 创建服务文件
sudo nano /etc/systemd/system/tomcat.service
粘贴以下内容(根据实际路径调整JAVA_HOME):
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
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"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存后加载服务配置并启动Tomcat:
sudo systemctl daemon-reload
sudo systemctl start tomcat
# 设置开机自启
sudo systemctl enable tomcat
验证Tomcat是否运行:
curl http://localhost:8080 # 应返回Tomcat默认页面
6. 部署JSP应用
将JSP项目打包为WAR文件(如myapp.war),复制到Tomcat的webapps目录(Tomcat会自动解压部署):
# 示例:将本地的myapp.war复制到Tomcat
sudo cp /path/to/myapp.war /opt/tomcat/webapps/
部署完成后,通过浏览器访问http://your-server-ip:8080/myapp/(myapp为WAR文件名去掉后缀)即可查看JSP页面。
7. (可选)配置防火墙
若系统启用了UFW防火墙,需允许HTTP(80)和Tomcat端口(8080)的流量:
sudo ufw allow 80/tcp # HTTP流量
sudo ufw allow 8080/tcp # Tomcat默认端口
sudo ufw enable # 启用防火墙(若未启用)