​在Nginx中部署Vue项目并添加路径前缀

本文介绍了如何在Nginx中配置和部署Vue.js应用,包括构建Vue项目、调整打包设置、配置Nginx服务器以添加路径前缀,以及验证和重启Nginx以确保正确访问。
摘要由CSDN通过智能技术生成

09f17de38ff9591f66d15bc19074cc16.png

随着前端技术的不断发展,Vue.js作为一种流行的JavaScript框架,被广泛应用于构建现代化的Web应用程序。而在生产环境中,我们通常需要借助Web服务器来部署和提供Vue应用的静态资源。Nginx作为一款高性能的HTTP和反向代理服务器,成为了许多开发者的首选。

一个案例:

一个客户提出希望在部署后的路径上添加一个项目前缀weijishu,原来访问地址是http://192.168.11.12:8888,现希望改成http://192.168.11.12:8888/weijishu才能正常访问,查阅诸多资料,从nginx部署多个前端项目中找到灵感。

server {
  listen       8081;
  server_name  localhost;
  location / { 
    #不修改此处,确保用户直接输入ip+端口无法访问到系统
    root   html;index  index.html index.htm;
  }
  location /weijishu {
    #添加前缀,但html中存放vue的目录名尽量也要改成相同名字
    alias  html/weijishu;
    index  index.html index.htm;
    try_files  $uri  $uri/   /index.html;
  }
}

改好配置后,发现页面一片空白,审查元素,发现资源文件都是404,如下图:

527fb6e2e17db0357a9150629a382f13.png

原因是vue打包后的资源文件默认是绝对路径,只有配置在根目录才有效。修改vue打包配置,找到vue.config.js,修改publicPath:'/'   为    ' ./  ' ,修改为相对路径

重新打包,重启nginx,启动成功。

5f48b48af8f5fb35f3adba1e32286577.png

下面详细介绍一下如何在Nginx中部署Vue项目,并为其添加路径前缀。

一、构建Vue项目

首先确保Vue项目已经构建完成。在项目的根目录下,运行以下命令来生成用于生产环境的静态文件:

npm run build

构建完成后,可以在项目的dist目录中看到生成的静态文件。

二、准备Nginx服务器

我们需要一个已经安装并配置好的Nginx服务器。如果你还没有安装Nginx,需要根据你所使用的操作系统进行安装。

三、部署Vue项目到Nginx

将Vue项目构建生成的静态文件复制到Nginx服务器的适当位置。

四、配置Nginx

打开Nginx的配置文件,一般位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default。

在配置文件中找到server块,然后添加一个新的location块来指定Vue项目的访问路径。例如,如果你想将Vue项目部署在/my-vue-app/路径下,可以添加以下配置:

server {  
    # ... 其他配置 ...  
  
    location /my-vue-app/ {  
        root /path/to/your/vue/dist;  
        try_files $uri $uri/ /my-vue-app/index.html;  
    }  
  
    # ... 其他配置 ...  
}

在上述配置中,root指令指定了Vue项目的静态文件所在的目录,try_files指令告诉Nginx如何寻找和返回文件。当请求的路径不存在时,Nginx会默认返回/my-vue-app/index.html,这对于Vue的单页应用(SPA)是非常重要的,因为它允许Vue Router接管路由。

五、验证并重新加载Nginx

保存并关闭配置文件后,你需要验证Nginx配置的正确性,并重新加载配置以使更改生效。

验证配置:

nginx -t

如果配置验证通过,没有错误,那么重新加载Nginx:

sudo systemctl reload nginx

六、访问你的Vue应用

现在,你可以通过浏览器访问http://your-server-ip/my-vue-app/来查看你的Vue应用了。Nginx将正确地处理路径前缀,并将请求转发到Vue应用的静态资源。

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,确保你已经在Ubuntu上安装了Nginx和Node.js。可以使用以下命令来安装它们: 1. 安装Nginx: ``` sudo apt update sudo apt install nginx ``` 2. 安装Node.js: ``` curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs ``` 接下来,你可以按照以下步骤来部署Vue项目: 1. 在你的Ubuntu服务器上,创建一个新的目录用于存放你的Vue项目文件。 2. 进入该目录并使用以下命令来创建一个新的Vue项目: ``` npx @vue/cli create my-vue-app ``` 3. 进入新创建的项目目录: ``` cd my-vue-app ``` 4. 使用以下命令将Vue项目构建为静态文件: ``` npm run build ``` 5. 构建完成后,将生成的静态文件复制到Nginx的默认网站目录: ``` sudo cp -R dist/* /var/www/html/ ``` 6. 配置Nginx以服务于Vue项目。编辑Nginx的默认网站配置文件: ``` sudo nano /etc/nginx/sites-available/default ``` 7. 在该文件,找到`root`指令并将其值更改为Vue项目路径,例如: ``` root /var/www/html; ``` 8. 在同一文件,找到`index`指令并添加`index.html`,例如: ``` index index.html; ``` 9. 保存并关闭文件。 10. 重新加载Nginx配置以使更改生效: ``` sudo service nginx reload ``` 11. 现在,你可以通过服务器的IP地址或域名来访问部署好的Vue项目。 希望以上步骤能帮助你成功部署Vue项目到Ubuntu上的Nginx服务器。如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值