虚拟机上部署Web项目

文章目录

  • [1. 实战概述](#1. 实战概述)
  • [2. 实施步骤](#2. 实施步骤)
    • [2.1 项目打包](#2.1 项目打包)
    • [2.2 本地部署](#2.2 本地部署)
      • [2.2.1 部署本地服务器](#2.2.1 部署本地服务器)
      • [2.2.2 war包改名](#2.2.2 war包改名)
      • [2.2.3 启动Tomcat服务器](#2.2.3 启动Tomcat服务器)
      • [2.2.4 测试西蒙购物网项目](#2.2.4 测试西蒙购物网项目)
    • [2.3 虚拟机上部署](#2.3 虚拟机上部署)
      • [2.3.1 远程连接虚拟机](#2.3.1 远程连接虚拟机)
      • [2.3.2 安装配置Tomcat服务器](#2.3.2 安装配置Tomcat服务器)
      • [2.3.3 将war包部署到虚拟机Tomcat服务器上](#2.3.3 将war包部署到虚拟机Tomcat服务器上)
      • [2.3.4 MySQL里创建用户并分配权限](#2.3.4 MySQL里创建用户并分配权限)
      • [2.3.5 本地Navicat连接虚拟机数据库服务器](#2.3.5 本地Navicat连接虚拟机数据库服务器)
      • [2.3.6 在虚拟机数据库服务器上创建数据库与表](#2.3.6 在虚拟机数据库服务器上创建数据库与表)
      • [2.3.7 虚拟机启动Tomcat服务器](#2.3.7 虚拟机启动Tomcat服务器)
      • [2.3.8 测试西蒙购物项目](#2.3.8 测试西蒙购物项目)
  • [3. 实战总结](#3. 实战总结)

1. 实战概述

  • 本实战完成西蒙购物网项目从开发到部署的全流程。通过Maven打包生成WAR文件,先后在本地与虚拟机部署,配置JDK、Tomcat及MySQL环境,实现远程访问与数据交互,最终验证系统功能正常,掌握Java Web项目发布与跨平台部署的核心技能。

2. 实施步骤

2.1 项目打包

  • 演示simonshop项目打包过程
  • 查看生成war包文件

2.2 本地部署

2.2.1 部署本地服务器

  • 将simonshop-1.0-SNAPSHOT.war拷贝到D:\apache-tomcat-10.1.16\webapps目录

2.2.2 war包改名

  • 将simonshop-1.0-SNAPSHOT.war改名为simonshop.war

2.2.3 启动Tomcat服务器

  • 执行命令:startup.bat

2.2.4 测试西蒙购物网项目

  • 访问http://localhost:8080/simonshop/
  • 跳转到登录页面
  • 登录成功,显示商品类别
  • 显示床上用品

2.3 虚拟机上部署

2.3.1 远程连接虚拟机

  • 利用FinalShell连接Master虚拟机
  • Master虚拟机安装配置了JDK21

2.3.2 安装配置Tomcat服务器

  1. 上传Tomcat安装包到虚拟机
    • 将Tomcat安装包上传到Master虚拟机/opt目录
    • 执行命令:ll apache-tomcat-10.1.48.tar.gz
  2. 将Tomcat安装包解压到指定目录
    • 执行命令:tar -zxvf apache-tomcat-10.1.48.tar.gz -C /usr/local
  3. 给Tomcat配置环境变量
    • 执行命令:vim /etc/profile

      shell 复制代码
      export CATALINA_HOME=/usr/local/apache-tomcat-10.1.48
      export PATH=$CATALINA_HOME/bin:$PATH		
    • 执行命令:source /etc/profile,让配置生效

2.3.3 将war包部署到虚拟机Tomcat服务器上

  • 将simonshop.war包上传到/usr/local/apache-tomcat-10.1.48/webapps里

2.3.4 MySQL里创建用户并分配权限

  1. 创建用户
    • 执行命令:CREATE USER 'root'@'%' IDENTIFIED BY '903213P@ssword';
  2. 给用户授权
    • 执行命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    • 结果说明:该命令授予用户'root'@'%'对所有数据库和表的全部权限。执行成功,返回"Query OK",表示权限已分配,但无数据受影响(0 rows affected),因为这是权限操作而非数据修改。
    • 执行命令:FLUSH PRIVILEGES;

2.3.5 本地Navicat连接虚拟机数据库服务器

  • 新建数据库连接,输入连接名、主机和密码,单击【测试连接】按钮,弹出消息框提示"连接成功"
  • 打开新建的Master连接

2.3.6 在虚拟机数据库服务器上创建数据库与表

  1. 创建数据库
    • 创建simonshop数据库
  2. 运行数据库脚本
    • 设置要运行的数据库脚本
    • 单击【开始】按钮,信息日志显示"成功完成"
  3. 查看数据表
    • 数据库里有4张表

2.3.7 虚拟机启动Tomcat服务器

  • 执行命令:startup.sh

2.3.8 测试西蒙购物项目

  • 访问http://192.168.1.101:8080/simonshop/
  • 跳转到登录页面
  • 登录成功,显示商品类别
  • 单击【文具用品】按钮
  • 修改hosts映射文件,添加192.168.1.101 master映射
  • 此时可用http://master:8080/simonshop/来访问项目首页

3. 实战总结

相关推荐
Mininglamp_27181 天前
Mano-P 低配部署:多模型并行的实际配置清单
ai·本地部署·mano-p
奈落2412 天前
AI辅助的另一面:从2026年国际AI安全报告的“故障”清单到国内专家的可靠性短板,自主行动的Agent为什么更难及时干预
人工智能·安全·agent·本地部署·ai 办公
一枕槐安48713 天前
开源大模型 Llama3 本地部署全过程,Ollama 上手
开源·本地部署·大模型推理·ollama·llama3·modelfile
合尘猫15 天前
6GB 笔记本本地跑 Z-Image Turbo:一次从 cu121 到 cu130 的踩坑记录
人工智能·ai·大模型·本地部署
奈落2417 天前
RAG 上线只是起点:知识库漂移、模型退化、依赖网扩张,生产环境的长期维护难题怎么拆
本地部署·ai 编程
爱上纯净的蓝天23 天前
不用云做 RAG:一个本地笔记问答工具的取舍与坑
python·开源·大模型·rag·本地部署
张张123y23 天前
120B 模型单卡跑起来?拆解 Nemotron 3.5 的压缩三板斧与本地智能体部署
nvidia·模型量化·本地部署·ai agent·nemotron
Web3&Basketball25 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
goehou1 个月前
模型量化部署实战:显存、精度与量化版本怎么选(附显存账)
llm·本地部署·awq·量化部署·显存优化
木圭的AI时代指南1 个月前
MiniCPM-V 4.7 35B-A3B 本地部署实录:RTX 3070 8GB 显存跑多模态,36 token/s
人工智能·ai·本地部署·openbmb·端侧大模型·minicpm-v 4.7