【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/也可以进访问

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

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

相关推荐
翼龙云_cloud4 分钟前
阿里云国际代理商:阿里云 ECS 全维度监控配置教程
运维·阿里云·云计算·监控
笑锝没心没肺20 分钟前
fail2ban工具安装配置及使用
linux·运维·服务器
我命由我123452 小时前
Android 开发问题:ClickableSpan 的点击事件没有生效
java·java-ee·android studio·android jetpack·android-studio·android runtime
zt1985q2 小时前
本地部署开源智能家居集成平台 ioBroker 并实现外部访问( Windows 版本)
运维·服务器·智能家居
大卡片2 小时前
linux内核驱动开发
linux·运维·驱动开发
心心喵3 小时前
[linux] nohup和pm2的区别 进程保活
linux·运维·服务器
NGINX开源社区4 小时前
F5 NGINX Ingress Controller 5.3.0 新增功能
运维
醉熏的石头4 小时前
Ubuntu 中的编程语言(中)
linux·ubuntu·scala
SelectDB6 小时前
Apache Doris 在 AgentLogsBench 中领先,支撑 Agent 可观测性生产负载
运维·数据库·agent
荣-6 小时前
从两天到十几分钟:一套 YT Crash 自动化分析工具完整工程复盘
大数据·运维·自动化