nginx 打包部署dist文件

我想把dist文件部署到nginx上去
这是我nginx.conf的配置

img

这是dist放置的位置

img

但是部署以后却显示这样

img

请问应该怎么改

location 里面 root 指定 dist 部署目录(绝对路径),不是单个文件。try_files 最后面不是绝对路径,是文件名,可以先把这行注释掉,可能不需要。proxy_pass 也暂时注释掉。这个 location / 的作用是所有请求都访问 /usr/....../h5/ 目录里面的文件,不需要转发到别的地址去。如果有要转发的,用另一个 location /xxuri 。多个 location 会按后面uri匹配度定优先级。server_name 后面 http:// 也去掉,纯域名。

找不到文件吧,路径可能不对,写全路径试一下:/usr/local/nginx/html/h5/index.html

1、server_name只能是域名,不能带端口和路径
2、root用绝对路径

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/934031
  • 这篇博客也不错, 你可以看下nginx.conf 的配置和前后端部署思路
  • 除此之外, 这篇博客: nginx 搭建静态服务器 文件服务器 端口转发 nginx.conf配置中的 部署静态网站 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 将静态网站复制到nginx路径下的html文件夹下(其他路径也可以的,可以写绝对路径)
    在http{sever{ 填写下方代码}}

     location / {
                root   html/birthday/;
                index  index.html;
            }
    

    html/birthday/ 相对地址 nginx/html部署birthday的静态网页,也可以写绝对路径
    查看 http://localhost

  • 您还可以看一下 姜威老师的Nginx从入门到应用课程中的 nginx.conf简述小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    首先,使用Vue CLI打包Vue.js application,执行以下命令:

    npm run build
    

    这将在项目根目录中创建一个' dist '文件夹,其中包含要部署的文件。将文件夹移动到nginx服务器上的合适位置。假设将其移动到'/usr/share/nginx/html'目录下。

    接下来,编辑nginx.conf文件。如果您使用默认的nginx安装,则此文件通常位于'/etc/nginx/nginx.conf'

    在http部分中添加以下条目:

    server {
      listen 80; #根据需要更改端口
    
      #此处指定了部署的文件夹位置
      root /usr/share/nginx/html/dist;
      index index.html;
    
      #处理静态文件访问
      location /static {
        alias /path/to/static/files;
        expires 1y;
        access_log off;
      }
    
      #处理Vue路由器的History模式
      location / {
        try_files $uri $uri/ /index.html;
      }
    
      #错误页面
      error_page 404 /404.html;
      location = 404.html {
        internal;
      }
    }
    

    首先,使用“listen”指令指定要打开的端口。然后,将“root”指令设置为dist文件夹的位置,并将“index”指令设置为index.html以启动应用程序。

    为了使应用程序正确处理路由器历史记录模式,需要添加一个特殊的位置指令。它将任何路径都重定向到index.html文件。这是因为Vue会在浏览器中使用JavaScript处理路由。由于路由路径不会被传递给服务器端,因此指向index.html的请求必须能够正确处理每个路径的Vue.js应用程序。

    最后,请记得为404页面提供支持,以启用错误页面功能。

    完成此操作后,请保存并退出文件更改,然后尝试重新启动nginx。一旦完成,您的Vue.js应用程序应该已经成功部署到nginx服务器并准备好在浏览器中使用。