Vue前端项目打包,并部署Vue项目到Linux云服务器上

news2024/10/7 10:19:48

一. vue前端项目打包

1.使用vscode开发项目
2.在config目录下的prod.env.js文件当中配置我们后端服务器的IP地址和端口号,因为这是在实际的部署当中所以必须要在生成环境下进行项目的部署。
如图所示:
在这里插入图片描述
3.在config目录下的index.js文件当中要改assetsPublicPath: ‘./’ 否则不能正确载入静态文件

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: './',
}

4.终端输入

npm run build

运行此命令行后会自动生成一个dist文件夹,这就是打包后生成的项目文件。之后将此文件夹放到服务器上,路径要与nginx配置路径一致。
在这里插入图片描述

二. Linux服务器上安装nginx并且进行相关配置

1. 安装必要软件

1.1 使用xshell连接终端
在这里插入图片描述
1.2 使用xftp传输文件
在这里插入图片描述

2. 安装nginx

2.1 下载nginx
(两个方法)
方法一: 下载nginx,然后使用xftp传输到云服务器上
方法二: 命令行下载
http://nginx.org/download/

wget http://nginx.org/download/nginx-1.13.6.tar.gz

2.2 解压nginx安装包
进入nginx目录

tar -zvxf nginx-1.13.6.tar.gz
cd nginx-1.13.6

2.3 make编译安装nginx

./configure --with-http_ssl_module --with-http_gzip_static_module
make
make install

2.4 启动程序

cd /usr/local/nginx/sbin/
./nginx

2.5 查看运行状态

ps aux | grep nginx

3. nginx 前端项目代理地址配置

(Vue项目设置了本地代理,部署到Nginx上需要使用反向代理解决生产环境跨域问题)
vue项目代理设置
本地代理地址配置文件 config/index.js

    proxyTable: {
      '/api': {
        target: 'https://api.weixin.qq.com',   //请求地址
        changeOrigin: true, //true表示跨域
        secure: false,
        ws: true,
        logLevel: 'debug',
        pathRewrite: {
          '^/api': ''
        }
      },
      '/token': {
        target: 'http://139.9.xxx.77:8089',   //请求地址
        changeOrigin: true, //true表示跨域
        secure: false,
        ws: true,
        logLevel: 'debug',
        pathRewrite: {
          '^/token': ''
        }
      }
    },

nginx代理设置
在/usr/local/nginx/conf目录下配置nginx.conf文件修改内容
(1) 修改root,(root为项目打包后文件的存放路径。)

      location / {
            root   /home/www/dist;
            index  index.html index.htm;
        }

(2)设置nginx反向代理(解决生产环境跨域问题),代理样式如下
查看反向代理详细文章了解Nginx反向代理更多信息

       location /api/ {
            proxy_pass https://api.weixin.qq.com/;
            add_header Content-Type "text/plain;charset=utf-8";
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST';
       }
       location /token/ {
            proxy_pass http://139.9.xxx.77:8089/;
            add_header Content-Type "text/plain;charset=utf-8";
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST';
       }

完整配置文件server部分如下

server {
        listen 8080;
        server_name localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
        location / {
            root   /home/www/dist;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
       location /api/ {
            proxy_pass https://api.weixin.qq.com/;
            add_header Content-Type "text/plain;charset=utf-8";
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST';
       }
       location /token/ {
            proxy_pass http://139.9.xxx.77:8089/;
            add_header Content-Type "text/plain;charset=utf-8";
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST';
       }
    }

4. conf配置文件的启动

在实际当中服务器中可能有多个vue前端项目,此时我们只要单独修该conf文件即可,一个前端项目对应的一个conf文件。
conf启动命令符如下:
启动项目指定配置文件

cd /usr/local/nginx/sbin/ ./nginx -c conf/nginx_hwfm.conf

查看启动进程:

ps -ef|grep nginx

在这里插入图片描述

5. nginx其它常用命令

(1)启动nginx:

cd /usr/local/nginx/sbin/
./nginx

(2)查看运行状态

ps aux | grep nginx

(3)停止nginx

./nginx –s stop

(4)检查配置文件是否正确

./nginx –t

(5)查看nginx版本

./nginx -v

(6)配置文件位置

/usr/local/nginx/conf/nginx.conf

(7)拓展(window下nginx启动命令)

cd MyDownloads\nginx-1.15.3
start nginx
nginx -s stop
nginx -s reload

参考链接:https://www.jianshu.com/p/c013027069ce

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chrome125.0.6422.60驱动包下载

百度网盘地址:https://pan.baidu.com/s/1DAr_O58GQ6m4sk_QePZscA?pwd=5t0j 提取码:5t0j Chrome驱动包(ChromeDriver)是一个用于支持自动化测试的工具,它提供了对Google Chrome浏览器的控制,使您可以编写和运行自动化脚本来测试网站。这个驱动程序是由Selenium项目开…

今日arXiv最热大模型论文:LoRA又有新用途,学得少忘得也少,成持续学习关键!

自大模型(LLM)诞生以来,苦于其高成本高消耗的训练模式,学界和业界也在努力探索更为高效的参数微调方法。其中Low-Rank Adaptation(LoRA)自其诞生以来,就因其较低的资源消耗而受到广泛关注和使用…

Qt输入输出类使用总结

Qt输入输出类简介 QTextStream 类(文本流)和 QDataStream 类(数据流)Qt 输入输出的两个核心类,其作用分别如下: QTextStream 类:用于对数据进行文本格式的读/写操作,可在 QString、QIODevice或 QByteArray 上运行,比如把数据输出到 QString、QIODevice 或 QByteArray 对象…

Mysql命令行客户端常用命令

Mysql命令行客户端常用命令 注意点 下面展示的 database_name、table_name、column1、column2、value1、value2 和 datatype在自己用的时候需要替换为实际的值 在敲命令的时候要注意,一定要在末尾加上分号 操作 安装好Mysql之后,搜索找到以下应用 打…

QQ沐个人引导页html源码

好看的QQ沐个人引导页html源码,鼠标移动滑出美丽的线条收缩特效,界面美观大气,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面 …

PDF24 Creator v11.12.1软件安装教程(附软件下载地址)

软件简介: 软件【下载地址】获取方式见文末。注:推荐使用,更贴合此安装方法! PDF24 Creator v11.12.1是一款免费、简便实用的多功能 PDF 工具。用户可通过直观拖放界面轻松组合、编辑和处理PDF文件。功能包括合并、分割、添加、…

Python筑基之旅-MySQL数据库(二)

目录 一、第三方库 1、mysql-connector-python 1-1、由来 1-2、优缺点 1-2-1、优点 1-2-1-1、官方支持 1-2-1-2、纯Python实现 1-2-1-3、全面支持 1-2-1-4、兼容性 1-2-1-5、易于使用 1-2-2、缺点 1-2-2-1、性能 1-2-2-2、安装 1-2-2-3、社区支持 1-2-2-4、扩…

Windows神级工具汇总

Windows神级工具汇总 文章目录 Windows神级工具汇总ConEmu(Cmder)TortoiseGitListary & everythingBeyond CompareDittof.luxTranclucentTBSyncToyMaximaTyporaKeePass 2VeraCryptTexLive & TeXstudio & MathpixmybaseSeafile8gadgetpack电脑…

基于RK3588的AI边缘计算网关设计

随着物联网和人工智能技术的飞速发展,边缘计算逐渐成为数据处理和分析的重要趋势。RK3588作为一款高性能的处理器,具备强大的计算能力和丰富的接口,为构建AI边缘计算网关提供了有力的支持。本文将介绍基于RK3588的AI边缘计算网关设计&#xf…

数据结构与算法-树-二分搜索树(二)

二叉树节点删除的几种情况 今天我们研究一下二叉搜索树(BST)的删除操作。删除操作对树来讲有些复杂,包含以下场景: 删除点是叶节点删除点非叶节点,只有左子树删除点非叶节点,只有右子树删除点非叶节点,既有左子树又有右…

面试-软件工程与设计模式相关,Spring简介

面试-软件工程与设计模式相关,Spring简介 1.编程思想1.1 面向过程编程1.2 面向对象编程1.2.1 面向对象编程三大特征 1.3 面向切面编程1.3.1 原理1.3.2 大白话?1.3.3 名词解释1.3.4 实现 2. 耦合与内聚2.1 耦合性2.2 内聚性 3. 设计模式3.1 设计模型七大原…

【排序算法】堆排序(Heapsort)

✨✨✨专栏:排序算法 🧑‍🎓个人主页:SWsunlight 目录 ​编辑 前言: 一、堆排序: 时间复杂度: 空间复杂度: 算法稳定性: 二、升序的实现:通过建大堆实…

《Effective Objective-C 2.0》读书笔记——接口与API设计

目录 第三章:接口与API设计第15条:用前缀避免命名空间冲突第16条:提供“全能初始化方法”第17条:实现description方法第18条:尽量使用不可变对象第19条:使用清晰而协调的命名方式第20条:为私有方…

中国真人认证的相亲交友恋爱平台有哪些?测评5款高质量婚恋脱单软件

不少朋友都表示自己的社交圈子过于狭窄,朋友也没几个,那今天就来聊聊我是通过何种平台找到对象的。我与男朋友是在网络上相识的,许多朋友同样也是通过网络来相亲。不过我们的成功,真的真的不能表明网络上全都是好人,各…

你不知道的C语言知识(第2期)

本期介绍🍖 主要介绍:C语言中一些大家熟知知识点中的盲区,这是第二期。 文章目录 1. 一维数组在内存中的存储方式2. sizeof计算数组元素的个数3. 二维数组3.1 概念3.2 二维数组在内存中的存储3.3 初始化省略行,但不能省略列 4. 变…

【Python】 去除字符串中的所有空白字符

基本原理 在Python中,字符串(String)是不可变的数据类型,这意味着一旦创建了一个字符串,就不能修改它的内容。然而,我们可以创建一个新的字符串,它包含原始字符串中的字符,但不包含…

入门四认识HTML

一、HTML介绍 1、Web前端三大核心技术 HTML&#xff1a;负责网页的架构 CSS&#xff1a;负责网页的样式、美化 JS&#xff1a;负责网页的行动 2、什么是HTML HTML是用来描述网页的一种语言。 3、Html标签 单标签<html> 双标签<h>内容</h> 4、标…

Visual Studio 下的Qt工程无法打开 “xxx.ui“ 文件和LNK1104 无法打开文件“Qt5Cored.lib”错误

一、问题&#xff1a; VS下Qt环境准备好后&#xff0c;创建了Qt工程然后点击 Form Files 下的 “xxx.ui” 文件&#xff0c;在弹出 Qt 设计师 界面后闪退并显示如下错误&#xff1a; 二、解决 1、工具栏处依次点击&#xff1a;扩展 一> Qt VS Tools 一> options 弹出选…

在windows下dat文件转mat

环境配置 需要安装hdf5库&#xff0c;参考https://blog.csdn.net/qq_36314864/article/details/139168631 代码下载 https://download.csdn.net/download/qq_36314864/89349060 为了支持大文件的.dat文件转换&#xff0c;我们需要考虑如何处理大量数据以避免内存不足的问题…

利用kubeadm安装k8s集群 以及跟harbor私有仓库下载镜像

目录 环境准备 master&#xff08;2C/4G&#xff09; 192.168.88.3 docker、kubeadm、kubelet、kubectl、flannel node01&#xff08;2C/2G&#xff09; 192.168.88.4 docker、kubeadm、kubelet、kubectl、flannel node02&#xff08;…