当前位置: 首页 > news >正文

将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 软件安装

  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_XXXexport PATH=$JAVA_HOME/bin:$PATH,执行source /etc/profile使配置生效。

        验证安装:在命令行中执行java -versionjavac -version,若显示 JDK 1.8 版本信息则安装成功。

  1. 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,调整最大连接数等。

  1. 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 首页则安装成功。

  1. Navicat 16 安装

下载 Navicat 16 安装包,根据操作系统选择对应的版本。

按照安装向导完成安装,安装完成后启动软件,准备连接 MySQL 数据库。

2.2 数据库准备

  1. 使用 Navicat 16 连接 MySQL 数据库,打开 Navicat,点击 “连接”,选择 MySQL,输入连接名称、主机名(数据库服务器 IP)、端口(默认 3306)、用户名(root)、密码,点击 “测试连接”,连接成功后点击 “确定”。
  2. 创建数据库:在 Navicat 中,右键点击连接名称,选择 “新建数据库”,数据库名称设置为charging_pile,字符集选择 utf8mb4,排序规则选择 utf8mb4_bin,点击 “确定”。
  3. 导入数据库脚本:在创建的数据库上右键,选择 “运行 SQL 文件”,选择项目源码中提供的数据库初始化脚本(charging_pile.sql),执行脚本完成数据库表结构及初始数据的创建。

3. 项目构建

3.1 配置 Maven 依赖

  1. 打开项目源码中的父项目 ev_parent 的 pom.xml 文件,检查各子模块的依赖配置是否正确,确保 Spring、SpringMVC、MyBatis 等第三方组件的版本统一(如 spring-core:5.2.0.RELEASE),避免版本冲突。
  2. 若项目需要使用私有仓库或镜像,在 Maven 的 settings.xml 文件中进行配置,如设置阿里云镜像等,提高依赖下载速度。

3.2 编译打包

  1. 打开命令行窗口,进入项目父目录(ev_parent 所在目录)。
  2. 执行 Maven 清理命令:mvn clean,清除之前的编译结果。
  3. 执行 Maven 打包命令:mvn package,Maven 将自动下载所需依赖,编译各模块代码,并在各子模块的 target 目录下生成 WAR 包,如 evuser_console-1.0.war、evmanager_portal-1.0.war 等。
  4. 打包完成后,检查各子模块 target 目录下是否生成了对应的 WAR 包,确保 WAR 包完整可用。
  5. 打包好聚合项目的所有子项目,复制jar包和war包到/usr/local/tomcat/webapps下

4. 项目部署

4.1 部署 WAR 包到 Tomcat

  1. 停止 Tomcat 服务:Windows 系统在 Tomcat 的 bin 目录下执行 shutdown.bat,Linux 系统执行./shutdown.sh
  2. 在server.xml中配置包的访问端口

  1. 将编译生成的各子模块 WAR 包(如 evuser_console-1.0.war、evmanager_portal-1.0.war)复制到 Tomcat 的 webapps 目录下。

  1. 启动 Tomcat 服务:Windows 系统执行 startup.bat,Linux 系统执行./startup.sh,Tomcat 将自动解压 WAR 包并部署应用。

5. 部署验证

5.1 服务访问验证

  1. 打开浏览器,访问用户端应用,如 http:// 服务器 IP:8075/userlogin,查看是否能正常显示首页,检查充电桩列表展示、用户注册 / 登录等功能是否可用。

  1. 访问管理员端应用,如 http:// 服务器 IP:8088/managerlogin,登录管理员账号,验证数据统计、充电桩管理、订单管理等功能是否正常。

5.2 功能测试验证

  1. 用户端功能测试
    1. 注册并登录用户账号,测试充电桩查询功能,尝试按区域、类型等条件筛选充电桩,检查查询结果是否准确。
    2. 选择一个空闲充电桩进行预约操作,确认预约流程正常,预约后查看充电桩状态是否变为 “占用”。
    3. 模拟充电操作,测试开始充电和结束充电功能,检查订单是否生成,费用计算是否正确。
    4. 测试订单支付功能,使用支付宝接口完成支付,确认支付状态是否同步更新。
  2. 管理员端功能测试
    1. 登录管理员账号,测试充电桩管理功能,尝试新增、修改、删除充电桩信息,检查数据库中数据是否同步更新。
    2. 测试订单查询功能,按不同条件筛选订单,查看订单详情是否正确。
    3. 测试数据统计功能,查看图表展示是否准确,是否能按区域、时段等统计相关数据。

5.3 日志检查

查看 Tomcat 的日志文件(catalina.out)和项目的日志文件(如在配置文件中指定的日志路径),检查是否有错误日志或异常信息,若有则及时排查解决。

6. 部署后维护

6.1 服务监控

  1. 定期查看服务器的 CPU、内存、硬盘等资源使用情况,确保服务器运行稳定。
  2. 监控 Tomcat 服务状态,确保服务正常运行,可使用相关监控工具(如 Zabbix)进行实时监控。
  3. 监控数据库性能,检查数据库连接数、查询响应时间等,及时优化数据库性能。

6.2 日志管理

  1. 定期备份项目日志文件,以便后续问题排查。
  2. 设置日志滚动策略,避免日志文件过大占用过多磁盘空间。

6.3 版本更新

  1. 当项目有新版本需要更新时,先停止 Tomcat 服务,删除 webapps 目录下对应的旧版本 WAR 包及解压目录。
  2. 按照项目构建和部署流程,部署新版本的 WAR 包,修改相关配置文件,重启 Tomcat 服务。
  3. 更新完成后,进行功能验证和日志检查,确保新版本正常运行。

6.4 数据备份

  1. 定期备份 MySQL 数据库,可使用 Navicat 的备份功能或 MySQL 的 mysqldump 命令进行备份,如mysqldump -u root -p ev_charging_platform > backup_20250806.sql
  2. 将备份数据存储在安全的位置,避免数据丢失。

7. 注意事项

  1. 确保部署环境的软件版本与项目要求一致,避免因版本不兼容导致的问题。
  2. 在修改配置文件时,仔细核对参数值,尤其是数据库连接信息和支付宝接口参数,确保准确无误。
  3. 部署过程中若遇到问题,及时查看相关日志文件,根据错误信息排查问题。
  4. 对于生产环境,建议关闭 Tomcat 的默认管理界面,修改默认端口号,加强服务器的安全防护。
  5. 在进行版本更新或数据备份操作前,确保已做好相关的备份工作,防止数据丢失或系统故障。
  6. 定期对服务器和数据库进行安全漏洞扫描和修复,保障系统安全运行。

http://www.dtcms.com/a/318117.html

相关文章:

  • MyBatis基础操作完整指南
  • 计数组合学7.14(对偶 RSK 算法)
  • 四、Envoy动态配置
  • 工业协议转换终极武器:EtherCAT转PROFINET网关的连接举例
  • 直播SDK商业化 vs 开源路线:工程稳定性、成本与演进能力全对比
  • 嵌入式开发学习———Linux环境下IO进程线程学习(五)
  • Flink CDC如何保障数据的一致性?
  • 云计算一阶段Ⅱ——12. SELinux 加固 Linux 安全
  • Dart语言“跨界”指南:从JavaScript到Kotlin,如何用多语言思维快速上手
  • Pipeline功能实现Redis批处理(项目批量查询点赞情况的应用)
  • Typescript入门-类型讲解
  • django object.create之后返回id
  • 【音视频】ALSA详细介绍
  • 从单枪匹马到联盟共生:白钰玮的IP破局之路​
  • 最新windows安装git(保姆及教程)
  • Python 高阶函数:用函数玩出花样
  • gpt-oss openai开源大模型
  • MCP 协议:AI 时代的 “万能转接头”,从 “手动粘贴” 到 “万能接口”:MCP 协议如何重构 AI 工具调用规则?
  • C++11之智能指针
  • springboot项目justAuth扩展第二个小程序
  • clock_adjtime、clock_getres、clock_gettime、 clock_nanosleep、clock_settime 系统调用及示例
  • 【面试八股总结】线程/进程同步问题
  • 概率/期望 DP Let‘s Play Osu!
  • 【数论】素数
  • Vue3入门到精通: 1.2 Vue3响应式系统深度解析
  • go与grpc
  • 网站、域名、IP在什么场景下需要备案
  • Linux之Shell脚本基本语法
  • InfluxDB 集群部署与高可用方案(二)
  • 基于vue的财务管理系统/基于php的财务管理系统