Nginx 部署前端 vue 项目

以下是详细的使用 Nginx 部署前端 Vue 项目的步骤:

一、项目打包

  1. 确保项目构建正确
  • 首先,在本地开发环境中,确保 Vue 项目已经完成开发并且能够正常运行。在项目目录下,打开终端,运行npm run build(如果是使用 yarn 构建,则运行yarn build)。这个命令会将 Vue 项目打包成静态文件,通常会在项目目录下生成一个dist文件夹(这个文件夹名称可以在vue.config.js文件中配置,如果没有配置,默认是dist)。
  • dist文件夹中包含了index.html文件以及一些静态资源文件,如 CSS、JavaScript 和图片等,这些文件将被部署到服务器上。

二、安装和配置 Nginx

  1. 安装 Nginx
  • 在服务器(如 Ubuntu 系统)上,通过以下命令安装 Nginx:
  • sudo apt - get update:更新软件包列表。
  • sudo apt - get install nginx:安装 Nginx。
  • 在 CentOS 系统上,可以使用以下命令安装:
  • yum update:更新软件包列表。
  • yum install nginx - y:安装 Nginx。
  1. 配置 Nginx
  • 找到 Nginx 的配置文件目录,在 Ubuntu 系统中,配置文件通常位于/etc/nginx目录下,主要的配置文件是nginx.conf,但为了方便管理,我们通常会在/etc/nginx/conf.d/目录下创建一个新的配置文件来配置我们的 Vue 项目。例如,创建一个名为vue - project.conf的文件(文件名可以自定义)。
  • vue - project.conf文件中,配置如下内容:
server {
    listen       80; # 监听端口,这里是80端口,可以根据需要修改
    server_name  your - domain - name.com; # 替换为你的域名,如果没有域名,可使用服务器IP地址

    location / {
        root   /var/www/vue - project/dist; # 替换为你项目打包后的dist文件夹所在的路径
        index  index.html;
        try_files $uri $uri/ /index.html; # 这个配置很重要,用于处理单页应用的路由问题,确保刷新页面时能正确加载资源
    }
}
  • 解释一下上述配置:
  • listen:指定 Nginx 监听的端口号。
  • server_name:指定服务器名称,可以是域名或者 IP 地址。
  • location /:这是一个块指令,用于处理根路径(/)下的请求。
  • root:指定项目文件的根目录,即dist文件夹所在位置。
  • index:指定默认的首页文件,通常是index.html
  • try_files:当用户请求一个文件或路径($uri)时,先尝试查找该文件,如果不存在,再查找该路径($uri/),如果还不存在,就返回index.html。这对于 Vue 单页应用的路由非常重要,因为 Vue 的路由是在前端实现的,服务器需要将所有的请求都引导到index.html,让 Vue 应用来处理路由。
  1. 检查配置并重启 Nginx
  • 在完成配置后,需要检查配置文件是否有语法错误。在终端中,进入 Nginx 安装目录(通常是/etc/nginx),运行命令nginx - t。如果配置正确,会显示类似nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful的信息。
  • 如果有错误,根据提示信息修改配置文件,直到配置检查通过。然后,通过命令sudo service nginx restart(Ubuntu 系统)或systemctl restart nginx(CentOS 系统)重启 Nginx,使配置生效。
  1. 权限设置(如果需要)
  • 确保 Nginx 有访问dist文件夹及其内容的权限。如果遇到权限问题,可以使用命令chown -R www - data:www - data /var/www/vue - project/dist(将/var/www/vue - project/dist替换为实际的项目路径)来设置权限,其中www - data是 Nginx 运行时的用户和用户组(在不同的系统和安装环境下可能会有所不同)。

这样,Vue 项目就通过 Nginx 成功部署到服务器上了。用户可以通过访问服务器的 IP 地址或域名来浏览 Vue 项目。

上一篇:鸿蒙 NEXT 开发中,普通对象跨线程如何传递