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

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

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

相关推荐
_.Switch13 分钟前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_8504108313 分钟前
文件系统和日志管理
linux·运维·服务器
JokerSZ.17 分钟前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
XMYX-01 小时前
使用 SSH 蜜罐提升安全性和记录攻击活动
linux·ssh
芯盾时代1 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方2 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘2 小时前
NFS服务器
运维·服务器
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰3 小时前
[linux]docker基础
linux·运维·docker
customer083 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源