迁移前准备

先把迁移前的准备工作捋清楚,这会省去后面很多麻烦。
- 摸清源环境底细:记下原服务器的JDK版本(比如是OpenJDK 8还是11)、Tomcat版本(比如9.x)、项目依赖了哪些数据库和第三方库,以及项目结构长什么样——
WEB-INF/lib下有哪些JAR包、web.xml怎么配置的,还有端口设置(比如Tomcat默认8080端口)。这些信息一个都不能少。 - 准备目标服务器:确保Ubuntu系统已经更新到最新(
sudo apt update && sudo apt upgrade),并且你有root或sudo权限。这一步夯实了,后面才能安心干活。
安装基础环境
环境搭建是迁移的根基,咱一步步来。
- 安装JDK:
- 先刷新软件包列表:
sudo apt update。 - 安装OpenJDK,以11为例,它兼容大多数JSP项目:
sudo apt install openjdk-11-jdk。 - 验证装好了没:
ja va -version,应该能看到Ja va版本信息。 - (可选)配置环境变量:编辑
/etc/profile,加上JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64和PATH=$JA VA_HOME/bin:$PATH,然后执行source /etc/profile让配置生效。
- 先刷新软件包列表:
- 安装Tomcat:
- 下载Tomcat二进制包,比如9.0.56版本:
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz。 - 解压到指定目录,比如
/usr/local:sudo tar -zxvf apache-tomcat-9.0.56.tar.gz -C /usr/local/。 - 创建一个符号链接,方便管理:
sudo ln -s /usr/local/apache-tomcat-9.0.56 /usr/local/tomcat。 - 启动Tomcat:
cd /usr/local/tomcat/bin && ./startup.sh。 - 验证它是否启动成功:浏览器访问
http://localhost:8080,看到Tomcat欢迎页面就说明一切正常。 - (可选)配置环境变量:编辑
/etc/profile,加上CATALINA_HOME=/usr/local/tomcat和PATH=$CATALINA_HOME/bin:$PATH,然后执行source /etc/profile。
- 下载Tomcat二进制包,比如9.0.56版本:
- 安装数据库(如果项目需要的话):
- 安装MySQL:
sudo apt install mysql-server。 - 启动服务:
sudo systemctl start mysql,并设置开机自启:sudo systemctl enable mysql。 - 运行安全脚本:
sudo mysql_secure_installation,设置root密码,移除匿名用户等,这一步不能省。
- 安装MySQL:
迁移JSP项目
环境搭好了,现在把项目搬过来。
- 打包项目:将原项目编译成WAR文件(可以用IDE导出,或者用
jar -cvf project.war *命令)。务必确保WEB-INF/lib下的所有依赖JAR包和web.xml配置文件都包含在内。 - 上传WAR文件:使用
scp命令将WAR文件上传到目标服务器,比如scp project.war user@ubuntu_ip:/tmp/。 - 部署项目:把WAR文件复制到Tomcat的
webapps目录下,比如sudo cp /tmp/project.war /var/lib/tomcat9/webapps/。Tomcat会自动解压并部署,生成一个project文件夹。
配置与验证
项目部署好了,但还需要调通连接和配置,才能让它跑起来。
- 配置数据库连接(如果项目需要的话):
- 登录MySQL:
sudo mysql -u root -p。 - 创建数据库和用户:
CREATE DATABASE jsp_db; CREATE USER 'jsp_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON jsp_db.* TO 'jsp_user'@'localhost'; FLUSH PRIVILEGES;。 - 修改项目中的数据库配置文件(比如
WEB-INF/classes/jdbc.properties),更新URL、用户名和密码。
- 登录MySQL:
- 调整Tomcat配置(可选):
- 修改端口:编辑
conf/server.xml中的,比如改成8081,避免端口冲突。 - 配置虚拟主机:在
server.xml的标签内添加,设置域名或IP绑定。
- 修改端口:编辑
- 验证部署:
- 重启Tomcat:
sudo systemctl restart tomcat9。 - 访问项目:浏览器输入
http://ubuntu_ip:8080/project_name(project_name是WAR文件名或webapps下的文件夹名),检查页面显示和功能是否正常。
- 重启Tomcat:
- 检查日志:万一部署失败,别慌,Tomcat日志是排查问题的好帮手:
tail -f /usr/local/tomcat/logs/catalina.out(或/var/log/tomcat9/catalina.out)。
可选优化
如果想让项目跑得更稳、更安全,可以做一些锦上添花的优化。
- 配置反向袋里:用Nginx作为前端袋里,处理HTTPS请求和静态资源。编辑Nginx配置文件(
/etc/nginx/sites-a vailable/default),添加如下内容:
然后重启Nginx:server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost:8080/project_name;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}sudo systemctl restart nginx。 - 配置SSL证书:使用Certbot获取免费SSL证书,命令:
sudo certbot --nginx -d your_domain.com,按提示完成配置,就能实现HTTPS访问了。