如何在服务器上部署一个前后端分离的项目并解决跨域问题

前后端项目部署和解决跨域 什么是跨域?浏览器为了用户的安全,仅允许向同域名、同端口的服务器发送请求。前端的域名和后端域名不一样,域名不一样就出现了跨域,跨域的话就报错了。我们可以看一下网络请求。为了防止跨域,或者说为了检测跨域,浏览器它会在发送正式请求之前,发送一个预检请求,预检的请求方法是OPTIONS。预检请求经常用来检查是否跨域,或者换一句话说,当我们请求的域名是和当前网页域名不同的时候,它就会发送预检请求。 阅读详情

以后端为spring-boot与前台为vue的项目举例。

一.给服务器安装相应的需求环境

1.安装jdk

安装方式可自行百度,推荐使用yum安装,安装完成后配置环境即可。

2.安装nginx。代理服务器,安装方式可自行百度,yum应该也是可以安装的。

二.部署后台代码

1.这里采用IDEA作为开发工具,只要通过maven的打包操作package在target那里找到jar包即可。

点击package

复制那个jar包。

2.将jar包复制到服务器上任意目录。

3.打开服务器控制终端,cd到jar包所在目录。

运行java -jar XXXXXX.jar 即可。

当然这样是没法进行另外的操作除非退出来ctrl+C,可以加个停止符号。

java -jar XXXXXX.jar &即可。

三.运行sql文件。

在服务器上安装并启动mysql服务,具体可自行百度。

然后进入mysql,将项目的sql文件放入服务器并运行即可。

需要注意的是。mysql在linux下和windows下有所区别,它的数据库名是区分大小写的,记住你的数据库名要和你后台代码中alidruid的jdbc配置要完全相同。

四.部署前端项目。

1.先进入本地的前端项目,打开config/index.js

配置assetsPublicPath这个属性值为‘/’注意这个属性值要出现两次,需要更改两次。

同时记住dev配置下的proxyTable属性,即后端接口端口的别名,我这里是/api/


2.这里是webpack打包的,打开控制台。

cd到本地的项目目录下。

运行npm run build。

在本地前端目录下可以看到多了一个dist文件夹,复制它。

3.把dist文件夹复制到服务器上的任意目录。


4.配置nginx配置使其指向你前端的端口。

A.cd进nginx的配置文件处


将nginx.conf和nginx.conf.default两个文件内的配置内容给注释了,即每行前面加#,使用vim。

然后在conf.d下面新建一个配置文件。


如图所示,vi这个文件。


输入如图所示的文件配置



其中要注意的是。listen后面跟上你所部署的前端端口。

location后面配置上你所部署的前端静态文件后面所在的具体目录注意root 后面的属性一定要是dist的绝对路径。

后面的一堆addheader可以不加。最后还有个location  /api 这里的api要看你后端接口的路径具体别名。proxy_pass要看你后台的端口号。

这里一定要加,不然前端无法调用后台的相应接口。

这里是在用nginx进行反向代理解决跨域问题。

五.访问部署好的网站。

将原来本地访问的localhost改成你的服务器的IP地址名即可。

如果出现了404的问题,根本原因肯定是跨域问题,即nginx没有配置好。

如果出现了403的问题,根本原因肯定是config.js的问题或者nginx的location里没有指向正确的dist路径。


无需 CORS,用 nginx 解决跨域问题,轻松实现低代码开发的前后端分离 近年来,前后端分离已经成为中大型软件项目开发的最佳实践。在技术层面,前后端分离指在同一个Web系统中,前端服务器和后端服务器采用不同的技术栈,利用标准的WebAPI完成协同工作。这种前后端分离的"混合开发"模式下,前后端通常会部署到不同的服务器上,即便部署在同一台机器,因为宿主程序(如后端用Tomcat,前端用nginx)不同,端口号也很难统一。(图片来源网络)这意味着位于A域(如)的页面,需要调用B域的WebAPI(如。... 阅读详情

相关推荐

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试

前面CODESY下载安装并熟悉了,p-net搭建从站也已经跑在虚拟机树莓派上了,我们只需要快速搭建一个profinet主站来和从站进行交互即可,这里我们直接用Windows下带的软PLC搭建profinet主站并和p-net的demo从站程序进行IO交互。评估是否进行Windows下的运行时PLC前先看一下注意事项,Windows下安装配置会需要修改boot及防火墙等,可能会影响Windows电脑的正常使用,所以创建项目时的设备可以选择非RTE的。

逍遥游的博客 7312

nuxt3:接口转发,实现跨域

这通常是为了让您能够向所有响应添加公共标头、记录响应或修改传入请求对象以供以后在请求链中使用。中的任何文件,以便为您的项目创建服务器中间件。这些文件将在每个请求上运行,这与映射到其自己路由的。原理:服务的请求接口是不跨域的,nuxt3服务端请求接口后转发给localhost:3000。当接口请求的域名和项目适用的域名不一致时候,可以适用接口转发的方法实现跨域。本文我们使用服务器中间件返回接口响应,实现跨域。本地开发,生产环境均可以使用。Nuxt 将自动读取。

snow的博客 7710

不写代码,Cursor 10分钟开发1个APP!保姆级教程喂饭来了

做出第一个能运行的app,那种成就感真的很棒。虽然过程可能有点折腾,但只要耐心一点,问题都能解决。记住,遇到问题不要慌,现在有AI帮忙,大部分问题都能快速解决。重要的是迈出第一步,开始动手实践。你的第一个app可能很简单,但这是一个很好的开始。随着经验积累,你能做出的东西会越来越酷。现在就开始行动吧,说不定下个月你就能向朋友炫耀你自己做的app了!

chenhong007的博客 1548

无需CORS,用nginx解决跨域问题,轻松实现低代码开发的前后端分离

近年来,前后端分离已经成为中大型软件项目开发的最佳实践。在技术层面,前后端分离指在同一个Web系统中,前端服务器和后端服务器采用不同的技术栈,利用标准的WebAPI完成协同工作。这种前后端分离的"混合开发"模式下,前后端通常会部署到不同的服务器上,即便部署在同一台机器,因为宿主程序(如后端用Tomcat,前端用nginx)不同,端口号也很难统一。(图片来源网络)这意味着位于A域(如)的页面,需要调用B域的WebAPI(如),这是一个典型的跨域访问,浏览器默认会判定该操作有安全风险。...

葡萄城技术团队博客 2519

【数电课程设计】---出租车计价器

文章目录1、任务要求2、方案3、收获 1、任务要求 2、方案 3、收获

LZY 1万+

CKA-CN考试之路----16

所以结合本题,如果有多个文件中都存在同一个值,务必统一,或者修改最后一个次序的文件。中以不同的文件名来区分不同目的的配置会更有利于阅读.就像本题中的。但当有多个文件中存在同一个参数的不同值,最后会生效哪个值?中,但随着配置越来越多不怎么容易阅读.当多个文件同时存在一个参数,但值又不同。有时候我们会将所有内存参数全部写在。确认服务状态(2个红框中的内容)

Q先生 299

Nuxt 常见问题与解决方案

nuxt常见问题,环境搭建,使用技巧

Lisunlight的博客 4495

探索激光焊接光束质量诊断系统:原理、应用与前沿

激光焊接光束质量诊断系统是一套专门用于精确评估和监测激光焊接过程中光束特性的精密设备。它宛如一个精密的 “光束医生”,能够全方位地对激光光束进行 “体检”,为焊接工艺提供关键的数据支持。探测器:作为系统的 “感知触角”,探测器负责捕捉激光光束的各种信息,其性能直接影响着诊断的准确性。例如,常见的 CCD(电荷耦合器件)探测器和 CMOS(互补金属氧化物半导体)探测器,它们能够将光信号转化为电信号,具有高灵敏度、高分辨率等特点,可精确探测光束的强度分布、光斑位置等参数。光学透镜。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2582

Nuxt解决前后端跨域问题

Nuxt 是 Vue 项目服务器渲染(SSR)解决方案。而在使用时,就会遇到前后端分离的情况下域名或端口不一致导致的跨域问题。 本篇文章将完整呈现如何通过设置代理解决 Nuxt 与 axios 集成的跨域问题。 扩展 axios Nuxt 使用 axios 为避免出现前端页面跨域问题,需要安装 @nuxtjs/axios 和 @nuxtjs/proxy 两个模块。 用 yarn 安装 yarn add axios @nuxtjs/axios @nuxtjs/proxy 使用 npm 安装

搬运工 6104

Python爬虫实战:使用Scrapy+Playwright高效获取电力市场数据

本文将详细介绍如何使用Python构建一个高效的电力市场数据爬虫系统。我们将结合Scrapy框架和Playwright浏览器自动化工具,解决电力市场网站常见的反爬机制,实现数据的稳定抓取。文章包含完整的项目搭建流程、代码实现、数据处理方案以及部署建议,帮助读者掌握现代爬虫开发的核心技术。关键词:Python爬虫、Scrapy、Playwright、电力市场、数据采集、反爬对策python复制下载# 基本字段region = scrapy.Field() # 区域。

2201_76125261的博客 1881

Python分布式爬虫深度实战:反爬破解+数据清洗+性能优化全流程

分布式爬虫的核心是“调度中心化+执行分布式”,Scrapy-Redis是最易落地的框架,无需从零写调度逻辑;反爬破解要分级应对:基础反爬靠随机UA/限流,进阶反爬靠代理池,高级反爬靠第三方验证码API;数据清洗的关键是“批量处理+标准化”,避免内存溢出,核心字段去重和异常值过滤是必做步骤;性能优化不是单纯加节点,而是从架构(分片)、代码(批量写入)、服务器(索引/网络)三层协同优化,才能实现效率翻倍。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1200

nuxt.js项目部署到生产环境时其中后端接口写外网地址不行的问题

最近写nuxt.js项目部署到生产环境遇到了各种各样的问题。 这篇文章要写的就是部署到生产环境时调用后端的接口写外网地址不行的问题及解决方案: 使用pm2手动部署到生产环境,其中调用后端的接口外网地址是http://192.144.164.39:****/zhizihua。 但是使用pm2手动启动项目之后,可以启动,但是页面总是会跳到错误提示页面(用于接口有时无数据或调用出错时展示的页面),...

sunny327的专栏 2592

10款AI工具赋能虚拟展厅设计:架构师效率提升90%的秘密武器

2020年全球疫情成为数字转型的催化剂,虚拟展厅从"可选项"迅速转变为"必需品"。根据Gartner最新报告,到2025年,超过70%的企业将采用虚拟展厅作为客户体验和产品展示的核心渠道。这一转变不仅是应急措施,更是商业模式的永久性革新。虚拟展厅突破了物理空间的限制——一个精心设计的虚拟展厅可以同时接待来自全球各地的访客,无需考虑场地容量;展品可以以数字形式永久保存,避免了物流和损耗问题;数据分析功能可以精确追踪每位访客的行为轨迹,提供前所未有的洞察。数据透视。

AI 领航者的博客 1573

Vue第三部分(2):Vue-CLI构建前后端分离项目以及打包部署

通过上一节,我们学习了vue脚手架的相关概念以及构建过程,那么开始我们的前后端项目吧 Vue-CLI构建前后端分离项目 1.项目环境初始化 1.安装 axios vue-axios(记得执行命令要进入项目里面执行哦,否则就会报错) E:\ideaProject\vue-cli-test>npm install --save axios vue-axios 2.main.js中引入相关库 import axios from 'axios' import VueAxios from..

优快云专家-微编程的博客 779

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

前后端分离通讯录项目开发

通过本次前后端分离通讯录项目的开发,我系统掌握了 Vue.js 和 Spring Boot 的使用方法,深入理解了前后端分离的开发模式。未来,我会继续学习更多前沿技术,尝试添加联系人分组、数据导出等扩展功能,进一步提升项目的实用性和完整性。开发过程中也遇到了不少问题,比如前后端数据格式不匹配、跨域请求失败等,通过查阅官方文档和技术博客,最终都成功解决。实现前后端分离的通讯录系统,包含联系人添加、修改、删除功能,支持 Web 等可视化技术,需部署上线并提交博客。

Q_W_H的博客 673

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用 Nginx 部署前后端分离项目,解决跨域问题

前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了),然后群里就有小伙伴想让松哥来聊聊如何结合 Nginx 来部署前后端分离项目?今天我们就来聊一聊这个话题。 不得不说的跨域 很多人对前后端分离部署感到困惑,其实主要是困惑跨域问题怎么解决。因为前后端...

江南一点雨的专栏 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

前后端分离项目的服务器部署

前后端分离项目的服务器部署 前几天我的个人网站终于部署上线了,趁现在还记得,赶紧把流程记录下来。本文讲的是前后端分离的项目的服务器部署,这里就以我的个人网站为例子。我的个人网站前端是react,后端是nodejs,数据库是mongodb。 为了把项目部署上线,首先我们需要确保这个项目已经在本地跑通了,所谓跑通就是前端,后端,和服务器都已经被串在一起,而且可以正常运行了。在这个基础上,我们的部署...

wl_public的博客 9679

springboot+vue前后端分离简单部署到服务器以及跨域处理

springboot+vue前后端分离部署服务器以及跨域处理 ,提供三种部署方法,都很简单。

weixin_43352606的博客 4801

Spring boot前后端分离后,跨域问题怎么解决?

现在基于spring boot前后端分离的开发模式越来越普遍,那么,由于前后端分离引发的跨域问题,你知道怎么解决吗? 什么是跨域 跨域是指 不同域名之间相互访问。即浏览器控制当前网页下不能执行其他网站的脚本,这是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容 如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。 跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。 同源策略 同源策略/S.

弹指天下 4512

前后端分离架构跨域问题处理

WebMvcConfigure是SpringMVC中⽤来定义Web相关配置的接⼝,通过实现该接⼝,可以配置Web容器中的组 件或资源。例如拦截器、视图控制器、静态资源处理器、视图解析器、跨域配置等等。使⽤WebMvcConfigure接⼝的步骤1)定义⼀个类,实现该接⼝2)添加Configuration注解,使该类成为配置类@Overrideregistry// 配置允许跨域访问的资源,/**表示允许访问所有资源// 配置允许跨域访问的源// 配置允许跨域访问使⽤的请求⽅法。

xiaobai_Qin的博客 2207

前后端分离项目,如何解决跨域问题?

跨域问题是前后端分离项目中非常常见的一个问题,举例来说,编程猫学习网站的前端服务跑在 8080 端口下,后端服务跑在 9002 端口下,那么前端在请求后端接口的时候就会出现跨域问题。403 Forbidden 是HTTP协议中的一个状态码(Status Code),意味着后端服务虽然成功解析了请求,但前端却没有访问该资源的权限。那怎么解决这个问题呢?

qq_64948664的博客 1742

使用Nginx解决前后端分离部署中的跨域问题

原文地址 1 说明 现在的Java Web项目好多都使用前后端分离的开发部署方式,这样的好处有很多,比如:可以实现真正的前后端解耦,可以减少后端服务器的并发/负载压力,方便实现多端应用(网页端、移动端共用一个后台服务)、增加代码的维护性&易读性。一般我们会采用Nginx来部署前端代码,使用Tomcat来部署后台服务。最近在Windows系统中使用Nginx部署前端代码时调用后台服务时出现了跨域的报错,通过对Nginx的一些代理配置可以解决这个问题,下面给大家分享一下在Nginx中部署前端代码并解决跨

猿经验(yuanjingyan.com) 2489

Tomcat+Nginx反向代理部署前后端分离项目解决跨域问题

最近自己做了一个前后端分离项目,前端采用HBuilder X开发,后端采用IDEA开发,在本地开发也跨域,部署到云服务器也跨域,下面介绍两种解决方案。 为什么会产生跨域? 出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源就是两

yunnansunshitao的博客 2514

如何在Linux服务器上部署一个前后端分离的项目

如何在Linux服务器上部署一个前后端分离的项目写在前面后端部署JDK、Tomcat、Mysql的安装后端代码打成jar包运行后端代码前端部署二级目录三级目录 写在前面 上篇文章刚把一个完整的前后端分离项目给拉到本地跑了起来,SpringBoot+React+Mysql+Mybatis+Restful风格接口,前后端分离的健康管理系统详细剖析(一),之前趁着优惠买了一个阿里云的服务器,总不能浪费,因此这篇文章主要讲述如何把一个前后端分离的项目部署到服务器上去! 后端部署 JDK、Tomcat、Mysql的安

fucccck_ly的博客 4495
上一篇: C语言void和void*的理解
下一篇: 如何将一个spring项目重构成spring-boot项目(仅后台)
Tate_Brown
博客等级 码龄9年 39粉丝 107原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值