将ssm聚合项目部署到云服务器上
1. 部署环境要求
1.1 硬件环境
组件 | 最低配置要求 | 推荐配置要求 |
服务器 CPU | 4 核 | 8 核及以上 |
服务器内存 | 8GB | 16GB 及以上 |
服务器硬盘 | 100GB 可用空间 | 200GB 及以上可用空间(SSD 优先) |
网络带宽 | 10Mbps | 100Mbps 及以上 |
1.2 软件环境
软件 | 版本要求 |
操作系统 | Windows Server 2012 及以上 / Linux(如 CentOS 7、OpenCloudOS 等) |
JDK | 1.8 |
MySQL | 8.0 |
Tomcat | 8.5 |
Maven | 3.6.3 |
数据库工具 | Navicat 16(用于数据库管理) |
2. 部署前准备
2.1 软件安装
- JDK 安装
下载 JDK 1.8 安装包,根据操作系统选择对应的版本(Windows 为.exe 文件,Linux 为.tar.gz 文件)。
Linux 系统:使用 tar 命令解压安装包,如tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C /usr/local/,然后在 /etc/profile 文件中设置环境变量,添加export JAVA_HOME=/usr/local/jdk1.8.0_XXX、export PATH=$JAVA_HOME/bin:$PATH,执行source /etc/profile使配置生效。
验证安装:在命令行中执行java -version和javac -version,若显示 JDK 1.8 版本信息则安装成功。
- MySQL 安装
下载 MySQL 8.0 安装包选择.rpm 或.tar.gz 安装包。
Linux 系统(以 CentOS 为例):使用 rpm 命令安装,如rpm -ivh mysql-community-server-8.0.XXX.rpm等相关包,启动 MySQL 服务systemctl start mysqld,通过grep 'temporary password' /var/log/mysqld.log获取临时密码,登录后修改密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';。
配置 MySQL:根据系统需求修改 MySQL 配置文件(Windows 为 my.ini,Linux 为 my.cnf),如设置字符集为 utf8mb4,调整最大连接数等。
- Tomcat 安装
下载 Tomcat 8.5 安装包(.zip 或.tar.gz)。
Linux 系统:使用 tar 命令解压到指定目录,如tar -zxvf apache-tomcat-8.5.XXX.tar.gz -C /usr/local/。
配置环境变量(可选):设置 CATALINA_HOME 为 Tomcat 安装路径,方便命令行操作。
验证安装:进入 Tomcat 的 bin 目录,Windows 系统执行 startup.bat,Linux 系统执行./startup.sh,在浏览器中访问http://localhost:8080,若显示 Tomcat 首页则安装成功。
- Navicat 16 安装
下载 Navicat 16 安装包,根据操作系统选择对应的版本。
按照安装向导完成安装,安装完成后启动软件,准备连接 MySQL 数据库。
2.2 数据库准备
- 使用 Navicat 16 连接 MySQL 数据库,打开 Navicat,点击 “连接”,选择 MySQL,输入连接名称、主机名(数据库服务器 IP)、端口(默认 3306)、用户名(root)、密码,点击 “测试连接”,连接成功后点击 “确定”。
- 创建数据库:在 Navicat 中,右键点击连接名称,选择 “新建数据库”,数据库名称设置为charging_pile,字符集选择 utf8mb4,排序规则选择 utf8mb4_bin,点击 “确定”。
- 导入数据库脚本:在创建的数据库上右键,选择 “运行 SQL 文件”,选择项目源码中提供的数据库初始化脚本(charging_pile.sql),执行脚本完成数据库表结构及初始数据的创建。
3. 项目构建
3.1 配置 Maven 依赖
- 打开项目源码中的父项目 ev_parent 的 pom.xml 文件,检查各子模块的依赖配置是否正确,确保 Spring、SpringMVC、MyBatis 等第三方组件的版本统一(如 spring-core:5.2.0.RELEASE),避免版本冲突。
- 若项目需要使用私有仓库或镜像,在 Maven 的 settings.xml 文件中进行配置,如设置阿里云镜像等,提高依赖下载速度。
3.2 编译打包
- 打开命令行窗口,进入项目父目录(ev_parent 所在目录)。
- 执行 Maven 清理命令:mvn clean,清除之前的编译结果。
- 执行 Maven 打包命令:mvn package,Maven 将自动下载所需依赖,编译各模块代码,并在各子模块的 target 目录下生成 WAR 包,如 evuser_console-1.0.war、evmanager_portal-1.0.war 等。
- 打包完成后,检查各子模块 target 目录下是否生成了对应的 WAR 包,确保 WAR 包完整可用。
- 打包好聚合项目的所有子项目,复制jar包和war包到/usr/local/tomcat/webapps下
4. 项目部署
4.1 部署 WAR 包到 Tomcat
- 停止 Tomcat 服务:Windows 系统在 Tomcat 的 bin 目录下执行 shutdown.bat,Linux 系统执行./shutdown.sh。
- 在server.xml中配置包的访问端口
- 将编译生成的各子模块 WAR 包(如 evuser_console-1.0.war、evmanager_portal-1.0.war)复制到 Tomcat 的 webapps 目录下。
- 启动 Tomcat 服务:Windows 系统执行 startup.bat,Linux 系统执行./startup.sh,Tomcat 将自动解压 WAR 包并部署应用。
5. 部署验证
5.1 服务访问验证
- 打开浏览器,访问用户端应用,如 http:// 服务器 IP:8075/userlogin,查看是否能正常显示首页,检查充电桩列表展示、用户注册 / 登录等功能是否可用。
- 访问管理员端应用,如 http:// 服务器 IP:8088/managerlogin,登录管理员账号,验证数据统计、充电桩管理、订单管理等功能是否正常。
5.2 功能测试验证
- 用户端功能测试
- 注册并登录用户账号,测试充电桩查询功能,尝试按区域、类型等条件筛选充电桩,检查查询结果是否准确。
- 选择一个空闲充电桩进行预约操作,确认预约流程正常,预约后查看充电桩状态是否变为 “占用”。
- 模拟充电操作,测试开始充电和结束充电功能,检查订单是否生成,费用计算是否正确。
- 测试订单支付功能,使用支付宝接口完成支付,确认支付状态是否同步更新。
- 管理员端功能测试
- 登录管理员账号,测试充电桩管理功能,尝试新增、修改、删除充电桩信息,检查数据库中数据是否同步更新。
- 测试订单查询功能,按不同条件筛选订单,查看订单详情是否正确。
- 测试数据统计功能,查看图表展示是否准确,是否能按区域、时段等统计相关数据。
5.3 日志检查
查看 Tomcat 的日志文件(catalina.out)和项目的日志文件(如在配置文件中指定的日志路径),检查是否有错误日志或异常信息,若有则及时排查解决。
6. 部署后维护
6.1 服务监控
- 定期查看服务器的 CPU、内存、硬盘等资源使用情况,确保服务器运行稳定。
- 监控 Tomcat 服务状态,确保服务正常运行,可使用相关监控工具(如 Zabbix)进行实时监控。
- 监控数据库性能,检查数据库连接数、查询响应时间等,及时优化数据库性能。
6.2 日志管理
- 定期备份项目日志文件,以便后续问题排查。
- 设置日志滚动策略,避免日志文件过大占用过多磁盘空间。
6.3 版本更新
- 当项目有新版本需要更新时,先停止 Tomcat 服务,删除 webapps 目录下对应的旧版本 WAR 包及解压目录。
- 按照项目构建和部署流程,部署新版本的 WAR 包,修改相关配置文件,重启 Tomcat 服务。
- 更新完成后,进行功能验证和日志检查,确保新版本正常运行。
6.4 数据备份
- 定期备份 MySQL 数据库,可使用 Navicat 的备份功能或 MySQL 的 mysqldump 命令进行备份,如mysqldump -u root -p ev_charging_platform > backup_20250806.sql。
- 将备份数据存储在安全的位置,避免数据丢失。
7. 注意事项
- 确保部署环境的软件版本与项目要求一致,避免因版本不兼容导致的问题。
- 在修改配置文件时,仔细核对参数值,尤其是数据库连接信息和支付宝接口参数,确保准确无误。
- 部署过程中若遇到问题,及时查看相关日志文件,根据错误信息排查问题。
- 对于生产环境,建议关闭 Tomcat 的默认管理界面,修改默认端口号,加强服务器的安全防护。
- 在进行版本更新或数据备份操作前,确保已做好相关的备份工作,防止数据丢失或系统故障。
- 定期对服务器和数据库进行安全漏洞扫描和修复,保障系统安全运行。