nginx部署vue项目,路由配置,后端访问接口配置

1、准备一个vue项目

2、配置vue.config.js文件

<1>. 配置浏览器访问前端项目的子路径

例如:子路径为: /aaa
注:也可以不设置子路径,直接为:/
前端访问项目的子路径

<2>. 配置访问后端的接口地址

例如:后端访问接口路径为: http://192.168.3.59:8080
 配置访问后端的接口地址

3.配置.env.development文件

<1>. 配置访问后台前缀子路径

例如:子路径为:“/dev-api”
注:也可以不设置后台访问前缀:即:“/”
配置访问后台前缀子路径

4. 进行vue项目打包,生成dist文件

打包生成dist文件

5. 配置nginx

<1>. 将打包的vue项目的dist文件内容复制到nginx文件夹的html文件夹中

复制dist文件中的内容到html文件中

<2>. 打开nginx文件地址,找到nginx.conf文件,使用编辑器打开

配置nginx.conf文件

<3>. 配置监听浏览器的端口

例如:监听端口号为8888
配置监听浏览器的端口

<4> 配置访问前端系统的子路径

以子路径"/aaa" 为例
如果子路径为配置:即为:“/”

location /aaa {   # 在浏览器里面加入访问前缀
	alias  F:/xx/yyy/front/dist; #这里用alias而不用root,dist的文件路径
    index  index.html index.htm;
    try_files $uri $uri/ /index.html last;
        }

配置访问系统的子路径

<5> 配置后端请求接口路径

以访问后端接口子路径"/dev-api" 为例 ,即.env.development中的配置
如果子路径为配置:即为:“/”

location /dev-api/ { #后端访问子路径,项目.env.development中的配置
	proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://192.168.3.59:8080; #后端访问接口
}

 配置后端请求接口路径

6. 重启nginx

双击nginx.exe

7. 浏览器访问:localhost:8888/aaa,即为前端项目

备注:
如果.env.production文件下面配置了接口访问子路径VUE_APP_BASE_API = ‘/bbb’, 则配置的nginx文件的后端访问接口需要加上 /bbb, 即:proxy_pass
http://192.168.3.59:8080/bbb;

.env.production文件配置接口访问子路径
nginx后台访问子路径配置

 location / {   # 当.env.development文件中的VUE_APP_BASE_API为空时,即直接为: /
 	proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://192.168.3.59:8080/bbb;  #当.env.production文件中的VUE_APP_BASE_API = '/bbb',请求接口变更
 }
### 宝塔面板 Vue 项目部署Nginx 反向代理配置 #### 一、Vue 项目上传至宝塔面板 将 Vue 打包后的静态文件上传到宝塔面板的网站根目录下。通常情况下,Vue 使用 `npm run build` 命令生成的文件位于 `dist` 文件夹中。这些文件应被复制到对应的站点路径。 --- #### 二、Nginx 配置解决刷新页面 404 的问题 当 Vue 路由模式设置为 `history` 并上传到服务器后,可能会遇到刷新页面返回 404 错误的情况。这是由于 Nginx 默认无法识别前端路由规则所致。解决方案是在 Nginx 配置文件中添加以下代码: ```nginx location / { try_files $uri $uri/ /index.html; } ``` 如果项目存在前缀路径(如 `/h5`),则需调整为: ```nginx location /h5 { try_files $uri $uri/ /h5/index.html; } ``` 上述配置确保无论用户访问哪个路由,都会加载 `index.html` 页面[^2]。 --- #### 三、Nginx 配置反向代理以访问后端 API 为了使 Vue 应用能够正确调用后端接口,需要在 Nginx配置反向代理。假设后端服务运行于 `http://192.168.1.139:8199/api`,而前端应用通过 `http://example.com/api` 请求数据,则可以在 Nginx 配置文件中加入以下内容: ```nginx location ^~/api { add_header 'Access-Control-Allow-Origin' '*'; proxy_pass http://192.168.1.139:8199/api; } ``` 此配置的作用是将所有匹配 `/api` 开头的请求转发至指定的后端地址,并允许跨域访问[^3]。 --- #### 四、验证配置有效性 完成以上修改后,保存并重新加载 Nginx 配置文件: ```bash nginx -s reload ``` 随后测试前端是否可以成功调用后端接口。如果一切正常,说明配置已生效。 --- #### 五、注意事项 - 如果开发环境中使用了 `vue.config.js` 中的 `devServer.proxy` 来处理跨域问题,该配置仅适用于本地调试环境,在生产环境下不会起作用,因此必须依赖服务器上的 Nginx 进行反向代理[^1]。 - 确保后端服务已经启动且监听相应的端口。 - 若涉及敏感操作,请勿随意开放跨域权限 (`add_header 'Access-Control-Allow-Origin' '*'`),建议根据实际需求限定特定域名。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值