Nuxt.js (day2) 的学习 #前一天刚把 Nuxt 的页面、接口和 SQLite 跑起来,今天就顺势开始折腾部署。因为这个项目本身已经具备前后端和数据库的最小闭环,所以很适合拿来练习一次完整的上线流程。
这篇主要记录我在部署 Nuxt 项目时最终采用的方案、实际踩过的坑,以及排查 Nginx、Cloudflare 和 better-sqlite3 过程中得到的一些结论。整体折腾了小半天,最后算是把从容器启动到域名访问这一整条链路搞通了。感谢 GPT,感谢我的同事哈哈!
最终我决定统一采用这套方案:
Docker 里只运行 Nuxt 宿主机 Nginx 负责对外入口 宿主机 Nginx 反向代理到 127.0.0.1:3000 一、我最终采用的部署方式 #最后确定使用的是这套部署流程:
背景 #今天在公司有点时间,想要试试前端部署的一个完整流程,当然这只是一个简单的 docker+nginx 部署流程。
前端:Vue build 后的 dist 静态文件 后端接口:运行在 172.xx.xx.xx:66xx 图片资源路径:/uploads/** 对外访问端口:不占用现有服务,选择一个不常用端口 运行环境说明 #宿主机 └── Docker └── nginx 容器 ├── 提供 Vue 静态页面 ├── 反向代理 API └── 反向代理图片资源 部署环境 #一、基础准备(Docker 环境) #1. 确认 Docker 是否安装 #docker -v 输出类似:
背景 #在今天工作时碰到了一个非常奇怪的问题:
明明后端接口正常返回了音频文件的访问链接 但在页面或播放器中请求该链接时,直接返回 403 且接口本身无任何异常日志 然后我经过同事的指导:
将 Nginx 配置修改为 user root 时,一切正常 改成普通用户(如 user user)后,音频请求立刻 403 运行环境说明 #宿主机 └── Docker └── nginx 容器 ├── nginx master(root) └── nginx worker(由 user 指令决定) 也就是说: