在Linux服务器上部署vue项目

 更新时间:2021年11月28日 13:06:14   作者:c03  
这篇文章介绍了在Linux服务器上部署vue项目的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

案例一

vue-cli构建vue3项目,将项目上传到Linux服务器,服务器安装node,并启动vue项目

首先本地有一个vue项目,启动后可正常访问

本地打包后,也可直接访问

若打包后的index.html页面显示空白,需在项目的根路径下新建vue.config.js,再重新打包,参考

Linux服务器安装nodejs,参考

# 下载node压缩包,在哪条路径下执行该命令,就会下载到哪条路径下
  wget https://npm.taobao.org/mirrors/node/v12.16.1/node-v12.16.1-linux-x64.tar.gz      
# 将压缩包剪切到/usr/local/bin/路径下,并解压   
  tar -xvf node-v12.16.1-linux-x64.tar.gz       
# 修改文件夹名称为NodeJs   
  mv node-v12.16.1-linux-x64 NodeJs  
# 安装gcc        
  yum install gcc gcc-c++            
# 在/usr/local/bin/NodeJs/bin路径下有三个文件:node  npm  npx
# 为这三个文件设置软连接,/usr/bin目录用于存放系统命令,此时在任意路径下执行:node  相当于是执行/usr/local/bin/NodeJs/bin/node路径下的文件,执行node后会进入node环境
  ln -s /usr/local/bin/NodeJs/bin/node /usr/bin/node         
  ln -s /usr/local/bin/NodeJs/bin/npm /usr/bin/npm          
  ln -s /usr/local/bin/NodeJs/bin/npx /usr/bin/npx         
# 进入根目录
  cd
# 验证
  node

将vue项目上传到Linux服务器,编译运行

# 进入vue项目的根目录
  cd /home/web
# 安装依赖
  npm install
# 编译打包
  npm run build
# 启动项目
  npm run serve

测试

错误总结

在Linux服务器上编译项目时报错如下,说明node版本过低,参考

在Linux服务器上编译项目时报错如下,说明node版本17.1.0过高

解决方案,参考

# 若之前使用yum安装的node,需卸载后重新安装,安装步骤参考本篇博客中使用`源码包`的方法安装
# 卸载nodejs
  yum remove nodejs npm -y
# 进入 /usr/local/lib 删除所有 node 和 node_modules文件夹
# 进入 /usr/local/include 删除所有 node 和 node_modules 文件夹
# 进入 /usr/local/bin 删除 node 的可执行文件

若编译、启动项目时报错权限不足

解决方案

# 将指定文件设置权限
  chmod 777 /home/web/xxx

运行项目时报错:warnings potentially fixable with the --fix option

解决方案,将项目中package.json中"lint": "vue-cli-service lint" 修改为:eslint --fix --ext .js,.vue src

参考

案例二

vue-cli构建vue3项目,打包后将dist文件放到tomcat上

Linux服务器安装tomcat

# 用docker拉取tomcat容器
  docker pull tomcat   
# 后台启动       
  docker run -d -p 8080:8080 tomcat    
# 启动后浏览器访问 http://192.168.0.102:8080/ 返回404
# 解决方案:
# 对外开放8080端口
  firewall-cmd --zone=public --add-port=8080/tcp --permanent  
# 重启防火墙生效 
  firewall-cmd --reload     
# 进入tomcat容器
  docker exec -it 正在运行的容器id /bin/bash     
# 将webapps.dist目录下的所有文件复制到webapps路径下
  cp -r webapps.dist/* ./webapps        
# 删除webapps.dist目录
  rm -rf webapps.dist           
# 此时能通过浏览器访问到tomcat页面了,但tomcat镜像重启后依旧404,需将当前修改后的容器提交为一个新的镜像
# 不停止容器的情况下退出
  ctrl + p + q                  
# 在容器运行状态下提交自定义的容器,tomcat10:10.1是我自定义的镜像名称和版本号
  docker commit -a="作者" -m="备注" 正在运行的容器id tomcat10:10.1       
# 停止当前tomcat容器  
  docker stop 正在运行的容器id    
# 删除该容器
  docker rm 运行后的容器id    
# 启动自己提交的镜像
  docker run -d -p 8080:8080 tomcat10:10.1         
 
# 补充
# 启动tomcat镜像的时候报错:driver failed programming external connectivity on endpoint quirky_allen
# 错误原因:之前启动后端项目时占用了8080端口,需将后端项目结束
 
# 测试,访问 http://192.168.0.102:8080 看到tomcat页面说明启动成功

将打包后的项目放到tomcat容器

# 创建共享文件夹
  mkdir -p /home/mydocker/mytomcat8080/data
# 启动容器8080:
  docker run \
  -p 8080:8080 \
  --name my-tomcat8080 \
  -v /home/mydocker/mytomcat8080/data:/usr/local/tomcat/webapps \
  -d \
  tomcat10:10.1
# 启动容器时报错:docker: invalid reference format.
# 错误原因:docker命令写错了,我这里是-v /home/mydocker/mytomcat8080/data:/usr/local/tomcat/webapps \  冒号后面多了一个空格
# 进入vue项目根目录,打包后生成dist文件夹,这里我们还是使用案例一中的项目
  npm install
  npm run bulid
# 将打包后的文件复制到tomcat
  mv dist /home/mydocker/mytomcat8080/data
# 重启tomcat容器
  docker restart tomcat容器id
# 测试,本地访问 http://192.168.0.102:8080/dist/

到此这篇关于在Linux服务器上部署vue项目的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • vue-element-admin 登陆及目录权限控制的实现

    vue-element-admin 登陆及目录权限控制的实现

    本文主要介绍了vue-element-admin 登陆及目录权限控制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Vuex的store中的Module用法及说明

    Vuex的store中的Module用法及说明

    这篇文章主要介绍了Vuex的store中的Module用法及说明,具有很好的参考价值,希望对大家有所帮助。
    2023-01-01
  • 如何理解Vue的render函数的具体用法

    如何理解Vue的render函数的具体用法

    本篇文章主要介绍了如何理解Vue的render函数的具体用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 使用vxe-table合并单元格后增加选中效果

    使用vxe-table合并单元格后增加选中效果

    这篇文章主要介绍了使用vxe-table合并单元格后增加选中效果,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 使用vuex存储用户信息到localStorage的实例

    使用vuex存储用户信息到localStorage的实例

    今天小编就为大家分享一篇使用vuex存储用户信息到localStorage的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue3实现父组件提交校验多个子组件

    vue3实现父组件提交校验多个子组件

    这篇文章主要为大家详细介绍了vue3如何实现父组件在提交事件中校验多个子组件中的form件,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2023-11-11
  • 解决Vue2跨域报错AxiosError net::ERR_FAILED、 Network Error、ERR_NETWORK

    解决Vue2跨域报错AxiosError net::ERR_FAILED、 Network Error、ERR_N

    这篇文章主要给大家介绍了关于解决Vue2跨域报错AxiosError net::ERR_FAILED、 Network Error、ERR_NETWORK的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • node+vue前后端分离实现登录时使用图片验证码功能

    node+vue前后端分离实现登录时使用图片验证码功能

    这篇文章主要介绍了node+vue前后端分离实现登录时使用图片验证码,记录前端使用验证码登录的过程,后端用的是node.js,关键模块是svg-captcha,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vue项目使用node连接数据库的方法(前后端分离)

    vue项目使用node连接数据库的方法(前后端分离)

    这篇文章主要介绍了vue项目使用node连接数据库(前后端分离),本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 如何使用Webpack优化Vue项目的打包流程

    如何使用Webpack优化Vue项目的打包流程

    在开发基于Vue.js的应用时,随着项目规模的扩大,单个文件的体积也会随之增长,特别是当涉及到大量的依赖库和复杂的业务逻辑时,本文将详细介绍如何使用Webpack来优化Vue项目的打包流程,需要的朋友可以参考下
    2024-09-09

最新评论