网站更新日志

ppylox
·6/8/2025·0 阅读
AI 摘要模型根据正文自动生成,仅供参考

网站时隔大半年更新版本,主要更新包括:将Nuxt.js框架升级至3.17.5以提升加载速度,通过npm初始化新项目并迁移文件实现;为广告和文章评论功能添加开关,便于个人网站应对备案监管要求及时关闭;服务改用Docker部署,简化了Java和Nuxt.js应用的打包与重启流程,支持停止后自动重启,减少手动操作。

距离上一次网站版本更新已经很久了,看记录已经是去年了,也就是已经有大半年没更新版本了,趁这个周末有空更新了一版。

一下为主要更新功能点:

网站首页框架(nuxtjs)更新到最新的3.17.5

更新框架的目的是想着随着官方版本的升级,新版本应该应该更好更快才对,因为老版本页面加载是有点慢。

本来以为版本差异会比较大,更新会比较麻烦,但是实际操作下来还是比较简单,通过npm初始化一个最新版本的项目,然后对比package.json跟差异的文件,再把原项目的文件复制过来,就可以正常运行了。

npm create nuxt <project-name>

网站广告、文章评论功能添加开关

如果你也拥有一个个人网站,那么一定会明白备案的重要性,如果你的网站是个人限制,那么在广告以及评论方面是受到严格的监管的,原则上个人网站是不允许评论功能的。

所以开关功能是为了能及时的关闭,避免像上一次因为这个原因紧急去掉广告代码然后再进行上线这一系列操作。

服务采用docker部署

网站原来的几个服务的部署是在本地打包好在上传到网站后台,再通过命令运行的,是现实有些麻烦且繁琐。

这次通过docker部署后,发现方便了很多,其中最让我感到方便的就是应用的重启,通过docker部署的应用可以设置停止后自动重启,以前只能手动执行命令重启。

经过一番研究,docker部署java以及nuxtjs应用也不算麻烦,虽然没有全自动流程,但是基本上一次打包后除非有更新,否则应该可以很长一段时间可以不用动了。

docker部署java:

# 使用官方OpenJDK基础镜像\nFROM openjdk:17-jdk-alpine\n\n# 设置工作目录\nWORKDIR /app\n\n# 复制JAR文件到容器中(假设JAR名为app.jar)\nCOPY app_xx.jar app.jar\n\n# 暴露应用端口(根据实际修改)\nEXPOSE 8099\n\n# 启动命令\nENTRYPOINT ["java", "-jar", "app.jar"]

先新建如上内容的dockerfile文件,将打包好的jar包跟dockerfile文件放在同一个目录后通过一下命令打成镜像

docker build -t app:20250608 .

-t 后面的名称为镜像名称,名称冒号后面可以添加一个标签,这样在后面打新包后可以通过标签升级镜像。

还有记住最后一个点不要忘了。


docker 部署nuxtjs:

# 使用官方 Node 镜像作为构建环境\nFROM node:20-alpine AS builder\n\nWORKDIR /app\n\nCOPY ./.output/public public\nCOPY ./.output/server server\n\nEXPOSE 3000\n\nCMD ["node", "./server/index.mjs"]

新建如上内容的dockerfile文件,在本地nuxt项目执行npm run build后将打包好的output文件上传到网站后台,跟dockerfile在同一个目录,在执行一下打包命令:

docker build nuxt-web:20250608 .

记得暴露端口跟容器一致,这样前后端都可以正常运行了,嘿嘿。

相关文章

评论 (0)

暂无评论,来写第一条吧