目录

一、部署前准备

1. 服务器环境确认

2. 项目本地预处理

3. 服务器基础配置

二、项目打包

三、项目上传至服务器

方法 1:Xshell + Xftp

方法 2:scp 命令

四、Tomcat 配置优化(可不做)

1. 端口修改(避免 8080 端口冲突)

2. 项目默认访问(免输入项目名)

3. 内存优化(避免项目运行内存溢出)

五、项目启动与验证

1. 启动 Tomcat

2. 启动成功判断

3. 访问项目验证

六、项目停止与更新

1. 停止 Tomcat

2. 项目更新


一、部署前准备

1. 服务器环境确认
已完成基础环境搭建(若没有,配置详见前文):
  • JDK 8+(推荐 1.8):java -version 验证,确保环境变量 JAVA_HOME 配置正确
  • MySQL 5.7+或8.0:mysql -u root -p 能正常登录,且已创建项目所需数据库(如 ssm_project)
  • Tomcat 8.5+/9.x:cd Tomcat目录/bin && ./version.sh 验证,确保 8080 端口未被占用或修改使用端口(netstat -tlnp | grep 8080)
  • Maven 3.6+(本地打包用):mvn -v 验证,用于项目编译打包
2. 项目本地预处理
  • 配置文件修改
  1. 项目中jdbc.propertiesapplicationContext.xml的数据库连接信息改为服务器 MySQL 配置:
    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://服务器IP:3306/数据库名?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    jdbc.username=服务器MySQL用户名(常见如root)
    jdbc.password=服务器MySQL密码
  2. 确保 Spring 配置文件中 springmvc-servlet.xml 的视图解析器、静态资源映射正常(避免页面 404)。
  • 排除不必要依赖:若项目中引入本地测试依赖,需在 pom.xml 中用 test 标记,避免打包时带入。
3. 服务器基础配置
  • 开放端口:通过防火墙开放 8080(Tomcat)、3306(MySQL)端口:
# 开放8080端口 
firewall-cmd --zone=public --add-port=8080/tcp --permanent 
# 开放3306端口 f
irewall-cmd --zone=public --add-port=3306/tcp --permanent 
# 重启防火墙生效 
systemctl restart firewalld 
# 查看开放端口 
firewall-cmd --list-ports
  • MySQL 授权:允许项目通过服务器 IP 连接数据库(避免权限不足):
-- 登录MySQL后执行
GRANT ALL PRIVILEGES ON ssm_project.* TO 'root'@'%' IDENTIFIED BY '你的MySQL密码';
FLUSH PRIVILEGES;
-- 刷新权限

二、项目打包

  1. 进入本地 SSM 聚合项目根目录(含 pom.xml 的目录)。
  2. 执行 Maven 打包命令(跳过测试,加快打包速度):
    mvn clean package -Dmaven.test.skip=true
  3. 打包成功后,在项目的 target 目录下生成 xxx.war 文件(如 ssm-project.war,文件名可在 pom.xml 中通过<finalName>配置)。

三、项目上传至服务器

方法 1:Xshell + Xftp
  1. 打开 Xftp,连接服务器(IP、用户名、密码与 Xshell 一致)。
  2. 本地找到 target 下的 xxx.war 文件,拖拽至服务器的 Tomcat 安装目录的 webapps 文件夹下(如 /usr/local/tomcat/webapps)。
方法 2:scp 命令
本地终端执行(Windows 这里用 Git Bash示例):
scp 本地WAR包路径 服务器用户名@服务器IP:服务器Tomcat的webapps目录
# 示例:
scp D:\project\ssm-project\target\ssm-project.war root@192.168.1.100:/usr/local/tomcat/webapps
输入服务器密码后,等待上传完成。

四、Tomcat 配置优化(可不做)

1. 端口修改(避免 8080 端口冲突)
若需修改 Tomcat 端口(如改为 80 端口,无需输入端口号访问):
  1. 进入 Tomcat 配置目录:
    cd /usr/local/tomcat/conf
  2. 编辑 server.xml 文件:
    vim server.xml
  3. 找到以下配置,将 8080 改为目标端口(如 80):
    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
  4. 保存退出:ESC + :wq
2. 项目默认访问(免输入项目名)
若需直接通过 http://服务器IP 访问项目(无需加 /ssm-project),两种方式任选:
  • 方式 1:将 WAR 包改名为 ROOT.war(Tomcat 默认优先加载 ROOT 项目):
    cd /usr/local/tomcat/webappsmv ssm-project.war ROOT.war
  • 方式 2:配置 server.xml 的 Host 节点:

编辑 conf/server.xml,在 标签内添加:

<Connector port="80" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" />
  • path="":默认访问路径(空表示根路径)
  • docBase:项目实际路径(WAR 包解压后的目录名)
  • eloadable="true":项目文件修改后自动重启(生产环境建议改为 false)
3. 内存优化(避免项目运行内存溢出)
  1. 编辑 Tomcat 启动脚本:
    vim /usr/local/tomcat/bin/catalina.sh
    在文件开头添加 JVM 内存配置(根据服务器内存调整,示例为 2G 内存服务器):
    JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
    • Xms:初始堆内存,建议为服务器内存的 1/4
    • Xmx:最大堆内存,建议为服务器内存的 1/2
    • MetaspaceSize:元空间初始大小,避免类加载过多导致溢出

    五、项目启动与验证

    1. 启动 Tomcat
    # 进入 Tomcat 的 bin 目录
    cd /usr/local/tomcat/bin
    # 启动 Tomcat(后台运行)
    ./startup.sh &
    # 查看启动日志(关键!排查启动失败问题)
    tail -f ../logs/catalina.out
    2. 启动成功判断
    日志中出现以下内容,表示 Tomcat 启动成功,且项目部署正常:
    INFO: Server startup in xxxx ms
    若日志报错,常见问题及解决:
    • 数据库连接失败:检查 jdbc.properties 中 IP、端口、用户名、密码是否正确,MySQL 是否启动(systemctl status mysqld)。
    • 端口被占用:netstat -tlnp | grep 8080 找到占用进程,kill -9 进程ID 关闭。
    • 类找不到 / 依赖缺失:本地打包时未引入必要依赖,检查 pom.xml 依赖配置,重新打包。
    3. 访问项目验证
    打开本地浏览器,输入地址:
    • 未修改端口和项目名:http://服务器IP:8080/ssm-project
    • 修改为 80 端口且设为默认项目:http://服务器IP
    验证内容:
    1. 能否正常进入项目首页(无 404、500 错误)。
    2. 能否正常登录(数据库连接正常)。
    3. 核心功能(如数据查询、新增、编辑、删除)是否正常。

    六、项目停止与更新

    1. 停止 Tomcat
    cd /usr/local/tomcat/bin
    # 停止 Tomcat
    ./shutdown.sh
    # 若停止失败,强制杀死进程
    ps -ef | grep tomcatkill -9 进程ID
    #例如 
    ps -ef | grep tomcatkill -9 1234
    2. 项目更新
    1. 停止 Tomcat(必须先停止,避免文件占用)。
    2. 删除旧项目文件:
      rm -rf /usr/local/tomcat/webapps/ssm-project
      #或者
      rm -rf /usr/local/tomcat/webapps/ROOT
    3. 上传新的 WAR 包至 webapps 目录。
    4. 重启 Tomcat:
      ​./startup.sh && tail -f ../logs/catalina.out

    更多推荐