目录
前言
一、虚拟机部署项目的流程
二、单机项目
1. 本机测试
2.虚拟机部署项目
三、前后端分离项目
前言
在软件开发过程中,部署和发布项目是非常重要的一环。使用虚拟机技术可以方便、灵活且可重复使用地部署和发布项目。本篇博客将介绍如何在 Windows 环境下使用虚拟机来部署和发布 Linux 项目。
一、虚拟机部署项目的流程
前四布流程可查看该博客安装虚拟机(VMware)保姆级教程及配置虚拟网络编辑器和安装WindowsServer以及宿主机访问虚拟机和配置服务器环境
1.准备工作
首先,需要下载和安装虚拟机软件。常见的虚拟机软件包括 VMware Workstation、Oracle VirtualBox 等。其次,需要获取所需的 Linux 操作系统镜像文件。可以从官方网站或其他可信来源下载。
2.创建虚拟机
使用虚拟机软件创建一个新的虚拟机实例。在创建虚拟机时,需要配置虚拟机的硬件设置,如内存、处理器等。接下来,需要安装 Linux 操作系统并进行基本配置。
3.配置网络
设置虚拟机的网络连接方式,如桥接模式或 NAT 模式。桥接模式可以让虚拟机直接连接到物理网络,而 NAT 模式则可以让虚拟机通过主机来访问外部网络。配置网络参数,如 IP 地址、子网掩码等。
4.安装 Linux 软件
下载和安装所需的 Linux 软件,如 Apache、MySQL、jdk等。可以使用包管理器来安装软件。
5.导入和配置项目
将 Linux 项目导入到虚拟机中。需要配置项目的依赖项、数据库连接等。可以使用编辑器或命令行工具来进行配置。
6.运行和测试项目
在虚拟机中启动应用服务器,如 Apache、Tomcat 等。部署项目并启动应用。使用浏览器访问项目,并进行功能测试。
7.备份和复制虚拟机
学习如何备份和复制虚拟机以供后续使用或共享给他人。可以使用虚拟机软件提供的快照功能来进行备份和复制。
二、单机项目
拿到开发完的项目之后,进行解压,最起码会有如下图几个文件 :
1. 本机测试
在本机中将SQL文件导入测试是否有问题
将开发完项目的war,复制到主机的tomcat下的webapps目录中
在tomcat的bin目录下,找到startup.bat文件双击进行启动tomcat
运行好之后,在浏览器输入地址进行访问,如果运行成功则代表项目本身是没有问题
2.虚拟机部署项目
将项目共享到虚拟机
解压并将war包放入tomcat下的webapps中
到主机数据库中,找到连接了虚拟机的数据库,创建与单机项目中的数据库名称一样的数据库,并且将数据库脚本导入到数据库中。
运行tomcat并查看该项目的数据库配置
在主机的浏览器中进行访问虚拟机中部署的项目,访问的请求地址中需要增加虚拟机的IP,可以进行访问说明完成部署。
三、前后端分离项目
这里本机测试就不带大家一步步测试了,都差不多,也非常简单,接下来我们将继续介绍如何通过虚拟机去部署前后端分离项目
解压并将war包放入tomcat
运行tomcat并查看该项目的数据库配置
导入我们的数据库脚本
配置node.js环境
解压
将文件解压到指定位置(例如:C:\software\NodeJS),并在解压后的目录下建立node_global和node_cache这两个目录注:新建目录说明
node_global:npm全局安装位置
node_cache:npm缓存路径
配置环境变量
新增NODE_HOME修改PATH并在最后添加:;%NODE_HOME%;%NODE_HOME%\node_global;
测试安装是否成功:打开cmd窗口,输出如下命令:
node -v 输出NodeJs版本号
npm -v 输出npm的版本号
配置npm全局模块路径和cache默认安装位置
打开cmd,分开执行如下命令:npm config set cache "D:\software\NodeJS\node-v10.15.3-win-x64\node-v10.15.3-win-x64\node_cache"
npm config set prefix "D:\software\NodeJS\node-v10.15.3-win-x64\node-v10.15.3-win-x64\node_global"
注1:将步骤一创建的node_global(npm全局安装位置)和node_cache(npm缓存路径)与npm联系起来
注2:如果执行命令卡死,可以删除C:\Users\用户名\.npmrc 后重新执行。(用户名:为当前电脑的用户名)
注3:"D:\software\NodeJS\node-v10.15.3-win-x64\node-v10.15.3-win-x64\node_global",双引号不能少
修改npm镜像提高下载速度
可以使用 cnpm 或 直接设置 --registry ,推荐设置 --registry--registry
设置淘宝源
npm config set registry https://registry.npm.taobao.org/
查看源,可以看到设置过的所有的源
npm config get registry
注1:其实此步骤的内容就是将以下代码添加到C:\Users\用户名\.npmrc文件中
registry=https://registry.npm.taobao.org
cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
注1:cnpm安装完成后,以后就可以用cnpm命令代替npm命令, 此时npm还是会用官方镜像,cnpm会用国内镜像
注2:如果要恢复成原来的设置,执行如下:
npm config set registry https://registry.npmjs.org/
验证安装结果
1 版本验证node -v
npm -v
2 查看淘宝镜像设置情况
npm get registry
3 查看npm全局路径设置情况
此步骤随便全局安装一个模块就可以测评
npm install webpack -g
以上命令执行完毕后,会生成如下文件
%node_home%\node_global\node_modules\webpack
注意:下载过程中出现warn不用管,出现Error,删掉下载的破碎文件重新下载
如何运行下载的Node.js项目
将下载的项目解压到指定目录,本例是解压到:C:\Users\86155\Desktop\pro\nmgwap-vueproject-master\vueproject,直接输入cmd进入
再输入npm i
我们的模块就在下载了,注意这里必须要联网
命令执行完后,你会发现,项目的根目录下多了一个node_modules文件夹,
那里面就是从npm远程库里下载的模块,然后“安装”到你的项目中,
此步骤,可理解成修改maven的pom文件添加依赖,然后maven再从中央仓库下载依赖
那pom文件在哪里呢?其实就是项目中的package.json
执行命令npm run dev就可以启动项目了
运行项目
前后端分离的项目如果直接这么访问就会访问不到,只有虚拟机自己才可访问。
以下我提供两种解决方案:
使用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.137.128:8081/也可以进行访问