【Linux】虚拟机部署与发布J2EE项目(Windows版本)

🎉🎉欢迎来到我的CSDN主页!🎉🎉

🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚

🌟推荐给大家我的专栏《微信小程序开发实战》。🎯🎯

👉点击这里,就可以查看我的主页啦!👇👇

Java方文山的个人主页

🎁如果感觉还不错的话请给我点赞吧!🎁🎁

💖期待你的加入,一起学习,一起进步!💖💖

前言

将Java项目部署到虚拟机(Virtual Machine,VM)有以下几个好处:

  1. 跨平台性:Java虚拟机是一个独立于操作系统的软件平台,它可以在不同的操作系统上运行。这意味着你可以开发一次,然后在不同的操作系统上部署和运行你的Java应用程序,而无需重新编写或修改代码。

  2. 硬件无关性:Java虚拟机提供了硬件无关性,即Java程序可以在不同的硬件架构上运行,只要这些硬件支持相应的Java虚拟机。这使得Java应用程序具有更好的可移植性和兼容性。

  3. 内存管理:Java虚拟机负责Java程序的内存管理,包括内存分配、垃圾回收等。通过自动内存管理,Java虚拟机可以提供更高的内存安全性和稳定性,减少因内存泄漏或越界访问等问题导致的程序崩溃。

  4. 安全性:Java虚拟机提供了安全管理机制,可以对Java应用程序的执行进行严格的控制和限制。它可以防止恶意代码对系统造成损害,并提供了安全沙箱机制,确保Java应用程序在受限的环境中运行,保护系统和用户的安全。

  5. 性能优化:Java虚拟机通过即时编译(Just-In-Time Compilation,JIT)等技术对Java字节码进行优化,以提高程序的执行效率。虚拟机可以根据实际运行情况动态优化代码,使得Java应用程序在一定程度上可以接近本地代码的性能。

  6. 管理和部署方便:使用虚拟机可以将Java应用程序打包成独立的可执行文件(如JAR文件),并且可以方便地进行部署、更新和管理。虚拟机提供了一些管理工具和接口,可以监控和调整应用程序的运行状态,提高开发和运维效率。

总的来说,将Java项目部署到虚拟机可以提供跨平台性、硬件无关性、内存管理、安全性、性能优化以及方便的管理和部署等好处,使得Java应用程序更加灵活、可移植和可靠。

一、单机项目

1.将项目共享到虚拟机

2.解压并将war包放入tomcat

3.运行tomcat并查看该项目的数据库配置

4.数据库导入脚本

先创建一个符合项目数据库配置的数据库名称

将我们项目的脚本导入

5.宿主机运行项目

二、前后端分离项目

1.解压并将war包放入tomcat

2.运行tomcat并查看该项目的数据库配置

3.数据库导入脚本

先创建一个符合项目数据库配置的数据库名称

将我们项目的脚本导入

4.配置node.js环境

现在node.js下创建这两个文件夹node_ceche和node_global

配置环境变量

%NODE_HOME%;%NODE_HOME%\node_global

npm config set prefix "C:\software\node-v18.16.1-win-x64\node-v18.16.1-win-x64"

npm config set cache "C:\software\node-v18.16.1-win-x64\node-v18.16.1-win-x64"

npm config set registry https://registry.npm.taobao.org/

在命令窗口执行以上命令(地址改为自己的)

5.运行spa项目

前后端分离的项目如果直接这么访问就会访问不到,只有虚拟机自己才可访问。

以下我提供两种解决方案:

①解决spa项目宿主机访问

使用nginx反代理工具

进入nginx下的conf文件夹下的nginx.conf文件进行配置代理url

在nginx根目录下输入cmd进入命令窗口输入 nginx.exe -s reload重启

此时就可以访问了

②解决spa项目宿主机访问

在spa项目中找到config文件下的index.js将localhost改为0.0.0.0

修改后

http://192.168.37.128:8081/也可以进访问

到这里我的分享就结束了,欢迎到评论区探讨交流!!

💖如果觉得有用的话还请点个赞吧 💖

相关推荐
sevencheng7989 小时前
【ADB】adb命令行常用按键模拟代码
linux·adb·模拟按键,返回键,音量键
暗影天帝9 小时前
BPI-R3 Mini 刷 Yuzhii DHCPD U-Boot 教程
linux
小赖同学啊10 小时前
智能连接器集群化高可用生产方案
linux·运维·人工智能
wanghao66645510 小时前
DevOps 从入门到实践:构建高效交付流水线
运维·devops
qq_5469372710 小时前
从“能用”到“超神”,DeepSeek++给网页版装上“大脑”和“手脚”,支持长期记忆、MCP工具与自动化任务!
运维·自动化
ZStack开发者社区10 小时前
基于AI Agent的ZCF API文档全链路自动化
运维·人工智能·自动化
Cinema KI10 小时前
Linux第一个系统程序-进度条
linux·服务器
Moshow郑锴10 小时前
Ubuntu 26.04 更换阿里云源镜像
linux·运维·ubuntu
Jason_chen11 小时前
Linux 6.2 串口机制深度解析:AI驱动的自适应通信与零信任串口安全架构
linux
迷糊小面包11 小时前
Docker Hadopp集群版部署搭建及常规问题解疑
运维·docker·容器