nuxt项目部署(windows环境)

项目是由vue-cli转换过来的,编码工作是前端兄弟做的,然后给到我这边去部署,我压根不懂nuxt项目,这可把我折腾坏了,还好最后还是搞定了 (^▽ ^),赶紧记录一下。

首先把配置贴上来:

package.json

{
  "name": "ssr",
  "version": "1.0.0",
  "description": "My cat's pajamas Nuxt.js project",
  "author": "keffSha",
  "private": true,
  "scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
    "build": "nuxt build",
    "start": "cross-env NODE_ENV=production node server/index.js",
    "generate": "nuxt generate"
  },
  "dependencies": {
    "@nuxtjs/axios": "^5.3.6",
    "@nuxtjs/proxy": "^1.3.3",
    "@nuxtjs/router": "^1.5.0",
    "cross-env": "^5.2.0",
    "echarts": "^4.4.0",
    "element-ui": "^2.4.11",
    "jquery": "^3.4.1",
    "koa": "^2.6.2",
    "moment": "^2.24.0",
    "net": "^1.0.2",
    "nuxt": "^2.0.0",
    "nuxt-start": "^2.10.2",
    "sockjs-client": "^1.4.0",
    "stompjs": "^2.3.3",
    "vue-awesome-swiper": "^3.1.3",
    "vue-cropper": "^0.4.9"
  },
  "devDependencies": {
    "element-theme-chalk": "^2.12.0",
    "node-sass": "^4.13.0",
    "nodemon": "^1.18.9",
    "sass-loader": "^8.0.0"
  }
}

项目结构是这样的在这里插入图片描述

我的部署流程是这样的:

  1. 在本地运行npm run build,打包成功后,将下列文件复制到服务器!
    本地目录:
    本地目录
    服务器目录:
    服务器目录
  2. 然后在服务器的当前目录下,执行npm install -production
  3. 下载完成后,执行npm start,试试直接运行是否成功(我的是成功的,访问127.0.0.1:8888能访问成功)
    端口号配置:
    在这里插入图片描述

现在改成用PM2启动(不知道什么是PM2的请自行百度)

  1. 全局安装PM2:npm i pm2 -g
  2. 设置PM2开机自启:
  1. 安装并配置pm2-windows-service:npm i -g pm2-windows-service
  2. 添加系统环境变量(右键 [我的电脑] - [属性] - [高级系统设置] - [环境变量] - 新建 [系统变量] ) PM2_HOME=C:\Users\Administrator.pm2(路径默认在当前用户下的.pm2)
  3. 以管理员权限打开新的cmd命令行窗口,执行以下命令来安装服务
    pm2-service-install 提示Perform environment setup ? 选 n, 继续,此时, PM2服务已安装成功并已启动, 可以通过 [win + r] - [services.msc]
    来查看,服务名称为PM2
  1. 使用pm2启动nuxt项目:
pm2 start ./node_modules/nuxt/bin/nuxt.js -- start

这里踩坑最多!!!
网上流传的启动方式:pm2 start npm – run start(失败)
其他方式:
1. pm2 start node_modules/nuxt/bin/nuxt-start --name xxx(我压根就没有nuxt-start.js这个东西,然后执行npm install --save nuxt-start下载了nuxt-start,还是失败)
2. pm2 start ./node_modules/nuxt/bin/nuxt.js – start(成功!!!),虽然查看log还是有报红,但是访问成功了

  1. pm2 save
    保存当前pm2 正在管理的NodeJS服务, 并在开机后恢复这些服务,保存路径为系统环境变量设置的PM2_HOME路径

nginx配置(参照网上教程即可,没踩什么坑)

这里就直接贴代码吧

location / {
		proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_cache_bypass $http_upgrade;
                # 你的nuxt地址
                proxy_pass http://127.0.0.1:8888;
	}

为了弄这个玩意儿,百度谷歌了好几天啊,总算弄好了。

参考链接:

部署 Nuxt.js 3.x 项目到 Nginx 需要几个关键步骤,因为 Nuxt 是一个用于构建 Vue.js 应用的框架,而 Nginx 通常作为 Web 服务器和反向代理。以下是部署的基本流程: 1. **构建应用**: 使用 Nuxt 的 `nuxt build` 命令在本地生成静态文件(生产环境配置)。 ```shell npx nuxt build ``` 2. **运行应用**: 如果要在本地测试,可以使用 `npx nuxt start`,但正式部署时通常不这么操作,因为 Nuxt 生成的文件可以直接部署到服务器。 3. **配置 Nginx**: 在 Nginx 配置文件中(通常是 `/etc/nginx/sites-available/your-project.conf`),创建一个站点配置,设置指向 Nuxt 生成的目录: ```nginx server { listen 80; server_name yourdomain.com; root /path/to/your/nuxt-build/output; # 替换为你的项目路径 index index.html; location / { try_files $uri $uri/ /index.html; } # 如果有子域名或需要处理其他路径,可以添加更多的 location 指令 } ``` 4. **启用和重启 Nginx**: 保存配置并启用新的站点: ```shell sudo ln -s /etc/nginx/sites-available/your-project.conf /etc/nginx/sites-enabled/ sudo nginx -t # 检查配置语法 sudo systemctl restart nginx # 重启服务 ``` 5. **配置 SSL (可选)**: 如果你的网站支持HTTPS,记得安装SSL证书,并修改 Nginx 配置以启用 HTTPS。 6. **检查部署**: 通过浏览器访问你的域名,确认 Nuxt 应用是否正常加载。 相关问题-- 1. Nuxt 3.x 部署时为什么要先进行 `nuxt build`? 2. 如何在 Nginx 中配置基本的静态资源请求? 3. Nginx 的 `try_files` 指令作用是什么?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值