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

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

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

相关推荐
梁bk3 小时前
[Nginx]反向代理和负载均衡
运维·nginx·负载均衡
勤奋的小王同学~7 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee
TT哇7 小时前
JavaEE==网站开发
java·redis·java-ee
2401_826097627 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)8 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
小陶来咯8 小时前
【仿muduo库实现并发服务器】Acceptor模块
运维·服务器
爱莉希雅&&&8 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊8 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
cui_hao_nan9 小时前
Docker后端部署
运维·docker·容器
渡我白衣9 小时前
Linux操作系统之文件(四):文件系统(上)
linux