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

一. vue前端项目打包

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

build: {// Template for index.htmlindex: path.resolve(__dirname, '../dist/index.html'),// PathsassetsRoot: 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.mzph.cn/bicheng/14167.shtml

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

相关文章

Linux配置nginx代理功能

ywtool运维工具下载链接及介绍: 工具下载/介绍/安装页面 目录 一.nginx proxy功能介绍二.配置nginx proxy功能2.1 新增nginx代理配置2.1.1 反向代理(当前只举例https转https)2.1.2 负载均衡(当前只举例https转https) 2.2 修改nginx代理配置2.2.1 手动修改配置文件2.2.2 通过此脚…

U盘文件神秘失踪?别担心,恢复与预防攻略在此!

一、遭遇困境:U盘文件突然不见 在数字时代,U盘已成为我们日常工作中不可或缺的数据存储工具。然而,有时我们可能会遭遇一个令人头疼的问题——U盘中的文件突然不见了。这种情况往往让人措手不及,尤其是对于那些没有备份重要文件的…

Gitlab OpenSSL::Cipher::CipherError(gitlab修改项目500错误)

问题描述 在对 gitlab 进行项目修改保存时候&#xff0c;出现了 500 错误&#xff0c;经查看日志&#xff0c;发现 OpenSSL::Cipher::CipherError 异常&#xff0c;如下图所示&#xff1a; > /var/log/gitlab/gitlab-rails/production.log <OpenSSL::Cipher::CipherErro…

“深度解析:等级保护测评的核心要素与实施流程“

等级保护测评的核心要素与实施流程是确保信息系统安全的重要环节。以下是对等级保护测评的核心要素和实施流程的深度解析&#xff1a; 核心要素 等级测评概述 1 等级测评是依据国家信息安全等级保护制度规定&#xff0c;对信息系统的安全状况进行检测评估&#xff0c;判定系统…

【Hive SQL 每日一题】行列转换

文章目录 行转列列传行 行转列 测试数据&#xff1a; DROP TABLE IF EXISTS student_scores;CREATE TABLE student_scores (student_id INT,subject STRING,score INT );INSERT INTO student_scores (student_id, subject, score) VALUES (1, Math, 85), (1, English, 78), (…

5月23日学习记录

[CSAWQual 2019]Unagi 涉及&#xff1a;xxe漏洞&#xff0c;外来编码xml绕过 打开环境&#xff0c;发现存在文件上传 简单上传一个php 毫无疑问上传失败&#xff0c;说是存在waf&#xff0c;绕过waf才能上传&#xff0c;点击here看看 xml编码&#xff0c;可能存在xxe漏洞&…

【计算机毕业设计】基于SSM++jsp的网上服装销售系统【源码+lw+部署文档】

目录 第一章 绪 论 第二章 关键技术的研究 2.1 JSP技术介绍 2.2 JAVA简介 2.3 ECLIPSE 开发环境 2.4 Tomcat服务器 2.5 MySQL数据库 第三章 系统分析 3.1 系统设计目标 3.2 系统可行性分析 3.3 系统功能分析和描述 3.4系统UML用例分析 3.4.1管理员用例 3.4.2用户用例 3.5系统流…

LeetCode刷题之HOT100之找到数组中消失的数字

2024/5/24 今天早上没有下雨&#xff0c;太好了。下周就要搬到二楼会议室开发了&#xff0c;很多计划都要被打破了。事已至此&#xff0c;先做题吧! 2、逻辑分析 题目的要求是&#xff1a;给定一个长度为n的整数数组nums&#xff0c;要输出在[1&#xff0c;n]范围内但没有出现…

JS 实现鼠标框选(页面选择)时返回对应的 HTML 或文案内容

JS 实现鼠标框选&#xff08;页面选择&#xff09;时返回对应的 HTML 或文案内容 一、需求背景 1、项目需求 当用户进行鼠标框选选择了页面上的内容时&#xff0c;把选择的内容进行上报。 2、需求解析 虽然这需求就一句话的事&#xff0c;但是很显然&#xff0c;没那么简单…

Linux 进程相关概念

用以下指令查找正在运行的进程&#xff0c;并使用 grep 过滤出包含 "int" 的行。 "ps -aux" 显示当前系统上所有用户的进程列表&#xff0c;而 grep 命令则筛选出包含 "int" 的行。 ps -aux|grep int p代表process进程 1.什么是程序&#xff…

【代码随想录】【算法训练营】【第17天】 [110]平衡二叉树 [257]二叉树的所有路径 [404]左叶子之和

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 17&#xff0c;又是一个令人愉快的周五~ 题目详情 [110] 平衡二叉树 题目描述 110 平衡二叉树 解题思路 前提&#xff1a;平衡二叉树&#xff1a;左右子树高度差不超过1, 思路&#xff1a;…

短视频商城全套源码:开启电商新纪元

随着数字媒体的快速发展&#xff0c;短视频平台已经成为人们获取信息、娱乐和社交的重要渠道。在这样一个大背景下&#xff0c;短视频商城的兴起&#xff0c;无疑为电商行业带来了新的机遇和挑战。本文将探讨短视频商城全套源码的重要性&#xff0c;以及它如何助力商家和开发者…

并发编程常见面试题

文章目录 为什么要使用线程池为什么不建议使用 Executors静态工厂构建线程池synchronized的实现原理Synchronized和Lock的区别什么是AQS什么是阻塞队列 为什么要使用线程池 关于线程池的作用和线程池的执行流程参考&#xff1a;java线程池 为什么不建议使用 Executors静态工厂…

云HIS医院信息管理系统源码(二级、乡镇、民营医院):云HIS系统与传统HIS系统的不同

云HIS医院信息管理系统源码&#xff08;二级、乡镇、民营医院&#xff09;&#xff1a;云HIS系统与传统HIS系统的不同 什么是医疗SaaS软件平台&#xff1f; HIS-SaaS&#xff08;Hospital Information System Software as a Service&#xff09;是一种医院信息系统的服务模式&…

引领数字创作新潮流——Autodesk Maya 2025 for Mac/win

作为全球领先的三维动画和视觉特效软件&#xff0c;Autodesk Maya 2025 引领着数字创作的新潮流。无论是电影、游戏、电视剧还是虚拟现实项目&#xff0c;Maya 2025 都是创作者们不可或缺的强大工具。 Maya 2025 在功能上持续创新&#xff0c;提供了一系列强大的工具和功能&am…

【网络与并发编程】

网络与并发编程 1. 网络编程1.1 网络基础知识1.1.1 什么是网络1.2.3 网络功能1.2.3 网络分类1.2.4 网络性能衡量指标1.2.5 网络编程中的几个关键概念1.2.6 网络通信要解决的问题1.2.7 网络通信协议1.1.8 网络通信标准1.1.9 通信地址 1.2 UDP 传输方法1.2.1 套接字简介1.2.2 UDP…

【全开源】智能名片系统源码(Fastadmin+ThinkPHP和Uniapp)

数字时代的新名片&#xff0c;连接未来的桥梁 引言 在数字化浪潮的推动下&#xff0c;传统名片已经逐渐淡出人们的视线。取而代之的是智能名片系统&#xff0c;它以其高效、便捷和智能化的特点&#xff0c;成为了商务交流的新宠。而智能名片系统源码&#xff0c;作为其核心驱…

SAP销售手工发票录入

销售手工发票录入用于处理未启用 SD 模块标准处理流程的零星销售业务。 科目设置 收入类科目&#xff1a;设置税务类型&#xff0c;允许含税/不含税过账应收账款: 留空。其他应收款的设置类似 编辑选项设置 在中国&#xff0c;编辑选项一般设置为基于总额计税。使用事务码 FB…

操作系统课程实验3-可变分区存储管理

操作系统课程实验3-可变分区存储管理 一、实验介绍 1.1 实验目的 加深对可变分区存储管理的理解&#xff1b;提高用C语言编制大型系统程序的能力&#xff0c;特别是掌握C语言编程的难点&#xff1a;指针和指针作为函数参数&#xff1b;掌握用指针实现链表和在链表上的基本操作…

如何设计足够可靠的分布式缓存体系,以满足大中型移动互联网系统的需要?no.31

传统 CAP 的突破 随着分布式系统的不断演进&#xff0c;会不断遇到各种问题&#xff0c;特别是当前&#xff0c;在大中型互联网系统的演进中&#xff0c;私有云、公有云并行发展且相互融合&#xff0c;互联网系统的部署早已突破单个区域&#xff0c;系统拓扑走向全国乃至全球的…