Vue + Nginx 项目部署 (亲测有效)

本文详细记录了使用Vue CLI创建项目,配置publicPath为'/my-vue-app',并通过Nginx进行反向代理的全过程。在Nginx配置文件中设置代理,启动服务后,可以通过'http://localhost/my-vue-app'访问Vue应用。总结强调了实践操作的重要性。

前言

笔者最近新学Vue,记录一下用Vue做项目部署和利用Nginx做反向代理。

开发环境

@vue/cli 5.0.3
Nginx 1.20.1

创建新项目

vue create my-vue-app //自选用 Vue2 或 Vue3 新建项目皆可
新建好的项目结构

新建好的项目结构
为了让项目在部署完成后,用户能够通过 http://localhost/my-vue-apphttp://[my-domain-name]/my-vue-app 的形式去访问, 我们在根目录下的 vue.config.js 里加入 publicPath: ‘/my-vue-app’,

const { defineConfig } = require('@vue/cli-service')

module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: '/my-vue-app'
})
本地利用 npm run serve 命令启动vue项目,然后在Nginx里配置

利用 npm run serve 命令启动vue项目,然后在Nginx里配置

在nginx里配置反向代理

nginx.conf
worker_processes  2;
events {
	worker_connections  1024;
}

http {
    include       mime.types;
	default_type  application/octet-stream;
	sendfile        on;
	keepalive_timeout  65;

	server {
    	listen       80;
    	server_name  localhost;

		location /my-vue-app/ {
            proxy_pass http://localhost:8080/my-vue-app/;
			proxy_redirect off;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_connect_timeout 90;
			proxy_max_temp_file_size 0;
            index  index.html index.htm;
			access_log  logs/my-vue-app.access.log;
			error_log  logs/my-vue-app.error.log debug;
        }
    }
}
测试nginx.conf
nginx -t
启动nginx服务器
start nginx	// 假如想重启nginx, nginx -s reload
			// 停止nginx, nginx -s stop

浏览器访问 http://localhost/my-vue-app

浏览器访问 http://localhost/my-vue-app

成功,搞定!


总结

以上就是今天所讲的全部内容。

源代码

关注我并发表不少于10字评论可以获取本文源代码。

码农经典语录

Linus Torvalds
Talk is cheap, show me the code.

蜂窝码农

  • DRY Principle (Don’t Repeat Yourself) 是做技术的最大笑话, DRY Principle应该改成 DORY Principle (Do Repeat Yourself)才对
  • 没有中国参与的标准,不能称为世界标准*。

俗语
好读书、好记性不如烂笔头

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值