vue项目部署到虚拟机
虚拟机环境配置本地计算机系统:Windows 10下载安装 VMware Workstation Pro下载地址:https://my.vmware.com/cn/web/vmware/details?downloadGroup=WKST-1552-WIN&productId=799&rPId=42649下载 CentOS 7 映像文件(iso)下载地址:http://isored
虚拟机环境配置
本地计算机系统:Windows 10
-
下载安装 VMware Workstation Pro
下载地址:https://my.vmware.com/cn/web/vmware/details?downloadGroup=WKST-1552-WIN&productId=799&rPId=42649 -
下载 CentOS 7 映像文件(iso)
下载地址:http://isoredirect.centos.org/centos/8/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso -
创建虚拟机
运行 VMware Workstation Pro -> 单击 创建新的虚拟机 -> 映像文件选择刚才下载的 CentOS 7,自定义硬件 -> 网络适配器 -> 选择 桥接模式,接下来进入 CentOS 7 安装界面,安装过程中设置 root 密码,等待安装结束。
安装 wget
[root@localhost ~]# yum install wget
或者
[root@localhost ~]# yum install -y wget
加参数 -y 和不加参数 -y 的区别在于:如果使用 yum install xxx,会找到安装包之后,询问你 Is this ok [y/d/N],需要你手动选择输入,如果加上参数 -y,就会自动选择 y,不需要你再手动选择输入。
Node.js 环境配置
- 下载 Node.js
[root@localhost ~]# wget https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz
- 将下载的 Node.js 移动到 /usr/local 目录下
最好不要在 /root 目录下安装,因为普通用户没有 /root 目录的访问权限,继而无法执行安装在 /root 目录下的软件,可以将下载的 Node.js 移动到别的目录下,如:/usr/local 等。
[root@localhost ~]# mv node-v12.16.3-linux-x64.tar.xz /usr/local
- 进入到 /usr/local 目录下,将下载的 Node.js 解压到当前目录
[root@localhost ~]# cd ..
[root@localhost /]# cd usr
[root@localhost usr]# cd local
[root@localhost local]# tar -xvf node-v12.16.3-linux-x64.tar.xz
- 将解压目录更名为 nodejs
[root@localhost local]# mv node-v12.16.3-linux-x64 nodejs
- 创建软链接,使 node 和 npm 命令全局有效
[root@localhost local]# ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
[root@localhost local]# ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm
- 运行 node -v,npm -v 查看版本,正确则 node,npm 环境配置无误
[root@localhost local]# node -v
v12.16.3
[root@localhost local]# npm -v
6.14.4
- 全局安装 pm2
[root@localhost local]# npm install pm2 -g
- 创建软链接,使 pm2 命令全局有效
[root@localhost local]# ln -s /usr/local/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
如果提示 ln: failed to create symbolic link '/usr/local/bin/pm2': File exists,则执行 mv /usr/local/bin/pm2 /tmp/ 删除已建立的软连接,再重新创建软连接。
- 运行 pm2 -v 查看版本,正确则 pm2 环境配置无误
[root@localhost local]# pm2 -v
4.4.0
本地计算机项目配置
- 初始化项目
npm init
- 下载 express
npm install express
- 将 Vue 项目打包后的 build 文件夹复制过来
- 新建 index.js 文件
主要做的事情是读取目录下的单页面文件,监听8002端口。
const fs = require('fs');
const path = require('path');
const express = require('express');
const app = express();
app.use(express.static(path.resolve(__dirname, './build')))
app.get('*', function (req, res) {
const html = fs.readFileSync(path.resolve(__dirname, './build/index.html'), 'utf-8')
res.send(html)
})
app.listen(8002);
上传文件到虚拟机
- 在虚拟机上新建一个文件夹 web,用于存放上传的文件
[root@localhost /]# mkdir web
- 查看虚拟机 IP 地址
[root@localhost /]# ip addr
使用 WinSCP 上传文件到虚拟机
- WinSCP 是一个在 Windows 环境下使用 SSH 的开源图形化 SFTP 客户端,同时支持 SCP 协议。它的主要功能是在本地与远程计算机之间安全地复制文件。与使用 FTP 上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器,无需在服务器端做任何配置。
- WinSCP 下载安装,下载地址:https://winscp.net/eng/docs/lang:chs
- 登录 WinSCP
- 打开 WinSCP,弹出“登录”对话框。如下图所示:
设置登录参数:
文件协议:选填,SFTP 或者 SCP 均可。
主机名:虚拟机 IP。
端口号:默认为22。
用户名:虚拟机的系统用户名。
密码:虚拟机的系统用户名对应的密码。
单击【登录】,进入 “WinSCP” 文件传输界面。如下图所示:
3.3. 上传文件
3.3.1. 在 “WinSCP” 文件传输界面的右侧窗格中,选择文件在虚拟机中待存放的目录,如“/web”。
3.3.2. 在 “WinSCP” 文件传输界面的左侧窗格中,选择本地计算机存放文件的目录,如“E:\Workspace\VisualStudioCode\demo\node”,选中待传输的文件。
3.3.3. 在 “WinSCP” 文件传输界面的左侧菜单栏中,单击【上传】。
3.3.4. 在弹出的“上传”对话框中,确认需要上传的文件及虚拟机目录,单击【确定】,即可从本地计算机将文件上传到虚拟机中。
虚拟机防火墙设置
虚拟机防火墙开启 web 项目相应的端口(8002)
[root@localhost web]# firewall-cmd --permanent --add-port=8002/tcp
success
[root@localhost web]# firewall-cmd --reload
success
或者直接关闭防火墙
[root@localhost web]# systemctl stop firewalld.service
以下是开启防火墙命令
[root@localhost web]# systemctl start firewalld.service
服务启动
- 进入到项目文件夹 web,运行 pm2 start index.js 命令启动服务
[root@localhost web]# pm2 start index.js
- 在本地计算机浏览器中通过虚拟机 IP + 端口号访问(192.168.43.99:8002)
附:安装 Node.js 多版本
- 执行以下命令,安装 git。
yum install -y git
- 执行以下命令,下载 NVM 源码并检查最新版本。
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
- 执行以下命令,配置 NVM 环境变量。
echo ". ~/.nvm/nvm.sh" >> /etc/profile
- 执行以下命令,读取环境变量。
source /etc/profile
- 执行以下命令,查看 Node.js 所有版本。
nvm list-remote
- 依次执行以下命令,安装多个版本的 Node.js。
nvm install v12.16.3
nvm install v14.1.0
- 执行以下命令,查看已安装的 Node.js 版本。
nvm ls
- 执行以下命令,切换 Node.js 使用版本。
nvm use v6.9.5
附:安装 Nginx
通过 yum 安装 Nginx
参考官网:http://nginx.org/en/linux_packages.html#RHEL-CentOS
- 进入到 /etc/yum.repos.d 目录下, 创建名为 nginx.repo 的文件
[root@localhost /]# cd etc
[root@localhost etc]# cd yum.repos.d
[root@localhost yum.repos.d]# vi nginx.repo
- 将以下内容复制进去,并保存退出(按 Esc 键跳到命令模式,输入 :wq,按 Enter 键)
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
- 通过 yum 安装 Nginx
[root@localhost yum.repos.d]# yum install -y nginx
- 设置 nginx 为开机启动
[root@localhost yum.repos.d]# systemctl enable nginx
- 启动 nginx 服务
[root@localhost yum.repos.d]# systemctl start nginx
- Nginx 的配置文件在 /etc/nginx/conf.d 目录下
- 默认的项目文件在 /usr/share/nginx/html 目录下
更多推荐
所有评论(0)