当前位置: 首页 > news >正文

如何在Linux服务器上部署Vue项目

如何在Linux服务器上部署Vue项目

1. 在本地将Vue项目打包
以项目运行在vscode为例,在调试窗口输入 npm run build待命令执行完毕之后,在项目目录下会生成dist文件夹,如下图
在这里插入图片描述

2. 创建一个运行文件,名字是:server.js

在这里插入图片描述
server.js中的内容如下:

const express = require('express');
const app = express();
app.use(express.static('./dist'));

//运行时的端口,可以自己自定义
const port = 7777;

app.listen(port, function (err) {
  if (err) {
    console.log(err);
    return;
  }
  console.log('Listening at http://localhost:' + port + '\n');
});

3.打包上传文件并将该文件上传到linux中
在windows中创建一个文件夹,名字自取,例如buildtest。将项目中的dist、node_modules、server.js复制到buildtest中,如下图。
在这里插入图片描述
在这里插入图片描述
4.上传到Linux中
windows中的文件上传到Linux中的办法有很多,这里我用的时Xftp软件。
如果你要上传的不是隐藏目录的话,那用MobaXterm之类的软件连接到服务器之后直接往相应的文件夹下面拖拽就可以了,但是因为我上传到的目录是隐藏目录,在可视化界面找不到。
安装包:

Xftp https://www.aliyundrive.com/s/Ya282r7NYV5 提取码: 3b1i 
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

安装Xftp之后,连接到Linux服务器
在这里插入图片描述
在这里插入图片描述
建立连接成功后你会看到以下界面。
注意:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
一定要将buildtest打包成压缩文件,例如我这里是打包成了zip文件,不然上传的时候特别慢,而且还可能出现文件丢失的情况。在会话窗口选择好你要上传到Linux中的哪个位置之后,拖拽进去即可。
在这里插入图片描述
5、解压buildtest.zip并运行
cd 到Linux中存放buildtest.zip的目录中,执行命令 unzip buildtest.zip即可解压buildtest.zip并存放在同级目录中,如下图,当然,如果你不想放在同一级目录那也可以解压到其他目录,相关命令自行查询。
在这里插入图片描述
解压成功之后,cd 到buildtest中, cd buildtest
然后运行: node server.js
成功之后如下图,如果报错没有node.js的话,安装一下就好,会有提示的,按照提示安装即可。
在这里插入图片描述
6.查看是否运行
打开浏览器,输入,服务器IP+端口,例如:http://192.168.1.112:7777,别输入http://localhost:7777,
localhost是对于服务器来说,但是浏览器肯定是在你本地的windows机子上,所以你得输入服务器的ip。

写在后面:在查阅资料的时候,资料中记载的是打包文件中只需要dist、server.js,但是我试过之后报错找不到node_modules,后来我加了一个node_modules就成功运行了。

相关文章:

  • 基于 velero 工具迁移 kubesphere 后端存储
  • SAP PI PO 接口常见问题处理:队列平衡的统计平均分配
  • Vue学习之旅——开发准备
  • 【Unity小功能开发实战教程】重写MaskableGraphic实现UI图片圆角化功能
  • drools动态规则之Maven解析
  • 【收藏系列】多线程八股文总结
  • [Typescript]基础篇之接口
  • 现学现用的 10 个 Python 技巧
  • 3 UI开发的点点滴滴
  • 群晖docker实现IPV6访问
  • 攻防比赛中通过供应链进行渗透攻击
  • 实时即未来,车联网项目之电子围栏分析【六】
  • 前端应该掌握的浏览器调试技巧
  • Java的static关键字
  • Kafka原理介绍
  • 【comparator, comparable】小总结
  • 【RocksDB】TransactionDB源码分析
  • 2017年终总结、随想
  • Consul Config 使用Git做版本控制的实现
  • CSS实用技巧
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • extjs4学习之配置
  • Hibernate【inverse和cascade属性】知识要点
  • Invalidate和postInvalidate的区别
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript中的对象个人分享
  • Kibana配置logstash,报表一体化
  • mysql中InnoDB引擎中页的概念
  • PHP的类修饰符与访问修饰符
  • QQ浏览器x5内核的兼容性问题
  • 闭包,sync使用细节
  • 从重复到重用
  • 浮动相关
  • 基于webpack 的 vue 多页架构
  • 强力优化Rancher k8s中国区的使用体验
  • 微信小程序开发问题汇总
  • 做一名精致的JavaScripter 01:JavaScript简介
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • scrapy中间件源码分析及常用中间件大全
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #AngularJS#$sce.trustAsResourceUrl
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (1)常见O(n^2)排序算法解析
  • (2.2w字)前端单元测试之Jest详解篇
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (动态规划)5. 最长回文子串 java解决
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • .bashrc在哪里,alias妙用
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Core引入性能分析引导优化
  • .NET delegate 委托 、 Event 事件
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET和.COM和.CN域名区别
  • .NET开发人员必知的八个网站
  • .NET中的Exception处理(C#)