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

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

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

相关推荐
Ares-Wang9 小时前
Linux》》systemd 、service、systemctl daemon-reload、systemctl restart docker
linux·运维·docker
安审若无10 小时前
运维知识框架
运维·服务器
阿拉斯攀登11 小时前
从入门到实战:CMake 与 Android JNI/NDK 开发全解析
android·linux·c++·yolo·cmake
Arvin62713 小时前
Nginx 添加账号密码访问验证
运维·服务器·nginx
风曦Kisaki14 小时前
# Linux 磁盘查看命令详解:df 与 du
linux·运维·网络
路溪非溪14 小时前
Linux中gpio子系统的现代接口
linux·arm开发·驱动开发
攻城狮在此14 小时前
华为交换机Console口密码如何清除
运维·网络·华为
内心的一片海14 小时前
服务器内存异常占用
运维·服务器
文静小土豆15 小时前
Centos7负载异常过高排查思路(Load Average)
linux
Deitymoon15 小时前
linux——原子操作
linux