服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx解决vue项目服务器部署及跨域访问后端详解

Nginx解决vue项目服务器部署及跨域访问后端详解

2023-05-17 12:04紫米粥 Nginx

跨域问题在前后端分离项目很常见,至于为什么会跨域,同源策略,百度各种博客都很详细,这里不再介绍,这篇文章主要给大家介绍了关于Nginx解决vue项目服务器部署及跨域访问后端的相关资料,需要的朋友可以参考下

准备

(1)首先是一个Vue项目。

(2)其次准备好服务器(在这里我是用虚拟机VMware)。

(3)准备好一个SpringBoot后端代码。

(4)服务器上必须安装Nginx。

 

1、前端代码注意事项:

(1)在这里我是用vuecli3脚手架创建的vue项目的,所以项目创建完毕之后是没有vue.config.js的。

其实这个文件的创建是为了本地测试解决前后端跨域问题的,但是在打包项目的时候需要把这里关于跨域的代码需要注释。

Nginx解决vue项目服务器部署及跨域访问后端详解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// vue.config.js
 
module.exports = {
    publicPath: './',
    runtimeCompiler: true,
    // devServer:{
    //     port:83,
    //     proxy:{
    //         '/api':{
    //             target:"http://localhost:8086",
    //             changOrigin: true,  //允许跨域
    //             pathRewrite:{
    //                 '^/api':''  //重写路径
    //             }
    //         }
    //     }
    // }
}

(2)第二点前端配置的请求路径需要加一个前缀,用于nginx的路由转发:

Nginx解决vue项目服务器部署及跨域访问后端详解

?
1
2
3
4
5
6
7
8
9
import axios from "axios";
const request = axios.create({
    // baseURL: 'http://localhost:8086',  //  注意!!  这里是全局统一加上了  '/api'  前缀,也就是说所有的接口都会加上'/api'前缀名
    // timeout: 5000
    //利用nignx解决跨域问题
    baseURL: '/api'//  注意!!  这里是全局统一加上了  '/api'  前缀,也就是说所有的接口都会加上'/api'前缀名
    timeout: 5000
})
export default request;

(3)第三点需要改一下路径地址,配置路由和组件之间的关系,配置成Hash路由模式。

Nginx解决vue项目服务器部署及跨域访问后端详解

(4)基本上到这里然后控制台npm run build 一下就可以了!!

(5)将dist文件夹的文件上传到Nginx中。

Nginx解决vue项目服务器部署及跨域访问后端详解

 

2、虚拟机的Nginx配置关键点:

重要的一点,全程都要以root账户进行操作,输入su root ,然后输入密码即可进行root权限。

(1)Nginx结构目录:

Nginx解决vue项目服务器部署及跨域访问后端详解

(2)在这里我们要把前端打包好的代码dist下面的文件通过第三方软件上传到了index中了。

Nginx解决vue项目服务器部署及跨域访问后端详解

(3)这时候开始配置cong中的nginx.conf文件,vim nginx.conf。

Nginx解决vue项目服务器部署及跨域访问后端详解

(4)修改配置文件:具体如图所示,在这里注意proxy_pass http://之后的地址加你自己电脑的IP地址加上相应的后端的端口号。

举个例子:假设这里我本机的IP地址为192.168.12.1,SpringBoot的端口号为8081,那么请求地址为proxy_pass http://192.168.12.1:8081/;

如何查看本机的Ip地址呢?找到window10左下角输入cmd,然后输入ipconfig,就可以查看了。

Nginx解决vue项目服务器部署及跨域访问后端详解

Nginx解决vue项目服务器部署及跨域访问后端详解

(5)还有很重要的一点,要关闭Linux的防火墙,我这里是centos7.6,所以在命令行要输入systemctl stop firewalld.service。

到这里的话,把后端的项目跑起来,虚拟机上的Nginx运行起来,项目就可以正常访问了!!!

 

测试

(1)访问服务器中的前端文件

Nginx解决vue项目服务器部署及跨域访问后端详解

(2)前端文件请求,然后通过Nginx转发到后端。

Nginx解决vue项目服务器部署及跨域访问后端详解

(3)后端接受请求,给予前端反馈。

Nginx解决vue项目服务器部署及跨域访问后端详解

 

总结 

到此这篇关于Nginx解决vue项目服务器部署及跨域访问后端的文章就介绍到这了,更多相关Nginx解决vue项目服务器部署内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_43388691/article/details/127713360

延伸 · 阅读

精彩推荐
  • Nginxwin2003下nginx 0.8.38 安装配置备忘

    win2003下nginx 0.8.38 安装配置备忘

    经不住蛊惑,决定在 Windows Server 2003 下安装试用一下,并与 PHP 进行集成。 ...

    服务器之家4912019-10-10
  • Nginx详解nginx location指令

    详解nginx location指令

    location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响应,这其中较难理解的是多个location的匹配顺序,本文会作为重点来解释和说明,...

    小亮的BLOG12002022-07-24
  • Nginx详解Keepalived+Nginx实现高可用(HA)

    详解Keepalived+Nginx实现高可用(HA)

    这篇文章主要介绍了详解Keepalived+Nginx实现高可用(HA),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    xyang091720772019-12-24
  • Nginxnginx编译安装及常用参数详解

    nginx编译安装及常用参数详解

    这篇文章主要介绍了nginx编译安装及常用参数详解,一种是基于ansible role实现编译安装nginx以及编译安装参数详解,本文给大家介绍的非常详细,对大家的学...

    焱黎9602023-01-13
  • Nginxnginx常用命令放入shell脚本详解

    nginx常用命令放入shell脚本详解

    这篇文章主要介绍了nginx常用命令放入shell脚本详解,文章讲解的很清晰,有感兴趣的同学可以研究下...

    刘远山3922021-03-26
  • NginxNginx实现负载均衡的方法总结

    Nginx实现负载均衡的方法总结

    这篇文章主要给大家总结介绍了关于Nginx实现负载均衡的一些方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,...

    alterem3352020-01-15
  • NginxWindows下用Nginx配置https服务器及反向代理的问题

    Windows下用Nginx配置https服务器及反向代理的问题

    这篇文章主要介绍了Windows下用Nginx配置https服务器及反向代理的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    sd401570011992021-11-08
  • NginxLINUX中NGINX反向代理下的TOMCAT集群(详解)

    LINUX中NGINX反向代理下的TOMCAT集群(详解)

    下面小编就为大家带来一篇LINUX中NGINX反向代理下的TOMCAT集群(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    jingxian6932019-11-27